diff --git a/corsika/detail/modules/energy_loss/BetheBlochPDG.inl b/corsika/detail/modules/energy_loss/BetheBlochPDG.inl
index c840de798880c3c94a939aff13ffc7b02a32f28a..066997364c8d7843cdf912e893294b3eada2a825 100644
--- a/corsika/detail/modules/energy_loss/BetheBlochPDG.inl
+++ b/corsika/detail/modules/energy_loss/BetheBlochPDG.inl
@@ -163,8 +163,7 @@ namespace corsika {
     auto Enew = E + dE;
     CORSIKA_LOG_TRACE("EnergyLoss  dE={} MeV, E={} GeV, Ekin={} GeV, Enew={} GeV",
                       dE / 1_MeV, E / 1_GeV, Ekin / 1_GeV, Enew / 1_GeV);
-    p.setEnergy(Enew);
-    updateMomentum(p, Enew);
+    p.setEnergy(Enew); // kinetic energy on stack
     fillProfile(t, dE);
     return ProcessReturn::Ok;
   }
@@ -194,13 +193,6 @@ namespace corsika {
         vTrack, maxGrammage);
   }
 
-  template <typename TParticle>
-  inline void BetheBlochPDG::updateMomentum(TParticle& vP, HEPEnergyType Enew) {
-    HEPMomentumType Pnew = elab2plab(Enew, vP.getMass());
-    auto pnew = vP.getMomentum();
-    vP.setMomentum(pnew * Pnew / pnew.getNorm());
-  }
-
   template <typename TTrajectory>
   inline void BetheBlochPDG::fillProfile(TTrajectory const& vTrack,
                                          const HEPEnergyType dE) {