diff --git a/corsika/detail/modules/sibyll/Decay.inl b/corsika/detail/modules/sibyll/Decay.inl
index e7554b3b4bf03854b53becd9f8ed5a32e7169f9a..d6a64ef7780116169d5f63560fcce976e4fc9a15 100644
--- a/corsika/detail/modules/sibyll/Decay.inl
+++ b/corsika/detail/modules/sibyll/Decay.inl
@@ -192,10 +192,11 @@ namespace corsika::sibyll {
     inputMomentum[3] = projectile.getEnergy() / 1_GeV;
     inputMomentum[4] = get_mass(pCode) / 1_GeV;
     int nFinalParticles;
-    double* outputMomentum = new double [10*5];
+    //double* outputMomentum = new double [10*5];
+    double outputMomentum[5*10];
     int outputSibPID[10];
     // run decay routine
-    decpar_(inputSibPID, inputMomentum, nFinalParticles, outputSibPID, outputMomentum);
+    decpar_(inputSibPID, inputMomentum, nFinalParticles, outputSibPID, &outputMomentum[0]);
 
     CORSIKA_LOG_TRACE("Sibyll::Decay: number of final state particles: {}",
                       nFinalParticles);