diff --git a/src/app/crbeam/CRbeam.cpp b/src/app/crbeam/CRbeam.cpp
index b10e19d746b777653352ae3e822efde3a1dca14c..a49ed314cc6c79c4de293cca8ddab163a847f019 100644
--- a/src/app/crbeam/CRbeam.cpp
+++ b/src/app/crbeam/CRbeam.cpp
@@ -484,9 +484,11 @@ int CRbeam::run()
 		pe.AddInteraction(new Interactions::GammaPP(backgrI));
 		pe.AddInteraction(new PPP(backgrI, fPPPrescaleCoef));//secondaries only
 	}
-	pe.AddInteraction(new GZK(backgrI));
-	pe.AddInteraction(new NeutronDecay());
-	pe.AddInteraction(new ProtonPPcel(backgrI));
+	if (fPrimary >= Neutron) {
+        pe.AddInteraction(new GZK(backgrI));
+        pe.AddInteraction(new NeutronDecay());
+        pe.AddInteraction(new ProtonPPcel(backgrI));
+    }
 
 	double Beta = 0.1;
 	double Alpha = M_PI / 4;