diff --git a/corsika/detail/modules/epos/InteractionModel.inl b/corsika/detail/modules/epos/InteractionModel.inl
index 14ad756e9c0a5159f7b4bfb789652aeebb4d0aca..f5cd77c48fc06a408d7e930dd8541ac4b4e0fd7f 100644
--- a/corsika/detail/modules/epos/InteractionModel.inl
+++ b/corsika/detail/modules/epos/InteractionModel.inl
@@ -21,6 +21,7 @@
 #include <string>
 #include <tuple>
 #include <cmath>
+#include "corsika/framework/core/ParticleProperties.hpp"
 
 namespace corsika::epos {
 
@@ -64,7 +65,8 @@ namespace corsika::epos {
     if (!is_nucleus(targetId) && targetId != Code::Neutron && targetId != Code::Proton) {
       return false;
     }
-    if (is_nucleus(targetId) && (get_nucleus_A(targetId) >= maxTargetMassNumber_)) {
+    if (is_nucleus(targetId) &&
+        (get_nucleus_A(targetId) >= get_nucleus_A(maxNucleus_))) {
       return false;
     }
     if ((minEnergyCoM_ > sqrtS) || (sqrtS > maxEnergyCoM_)) { return false; }
@@ -141,9 +143,10 @@ namespace corsika::epos {
     strcpy(::epos::fname_.fncs, CS.data);
     ::epos::nfname_.nfncs = CS.length;
 
-    // initialiazes maximum energy and mass
-    initializeEventCoM(Code::Lead, Lead::nucleus_A, Lead::nucleus_Z, Code::Lead,
-                       Lead::nucleus_A, Lead::nucleus_Z, 1_PeV);
+    // initializes maximum energy and mass
+    initializeEventCoM(
+        maxNucleus_, get_nucleus_A(maxNucleus_), get_nucleus_Z(maxNucleus_), maxNucleus_,
+        get_nucleus_A(maxNucleus_), get_nucleus_Z(maxNucleus_), maxEnergyCoM_);
   }
 
   inline void InteractionModel::initializeEventCoM(Code const idBeam, int const iBeamA,
diff --git a/corsika/modules/epos/InteractionModel.hpp b/corsika/modules/epos/InteractionModel.hpp
index b6701bfb5423669018975ea6edc47ff33a6b192b..3b2d501267fdc8a5ec2828fa3acf649a68a0ae7e 100644
--- a/corsika/modules/epos/InteractionModel.hpp
+++ b/corsika/modules/epos/InteractionModel.hpp
@@ -109,8 +109,7 @@ namespace corsika::epos {
     std::shared_ptr<spdlog::logger> logger_ = get_logger("corsika_epos_Interaction");
     HEPEnergyType const minEnergyCoM_ = 6 * 1e9 * electronvolt;
     HEPEnergyType const maxEnergyCoM_ = 2.e6 * 1e9 * electronvolt;
-    static unsigned int constexpr maxTargetMassNumber_ = 20;
-    static unsigned int constexpr minNuclearTargetA_ = 4;
+    static Code constexpr maxNucleus_ = Code::Lead;    
   };
 
 } // namespace corsika::epos
diff --git a/tests/modules/testEpos.cpp b/tests/modules/testEpos.cpp
index 2c9c079c17a718b4c91975fa45f83cab19fec867..ac643d9e610e07879568d91d377e4de4668a82d2 100644
--- a/tests/modules/testEpos.cpp
+++ b/tests/modules/testEpos.cpp
@@ -148,7 +148,7 @@ TEST_CASE("Epos", "modules") {
     CHECK_FALSE(model.isValid(Code::Proton, Code::Electron, 100_GeV));
     CHECK(model.isValid(Code::Proton, Code::Hydrogen, 100_GeV));
     CHECK(model.isValid(Code::Proton, Code::Helium, 100_GeV));
-    CHECK_FALSE(model.isValid(Code::Proton, Code::Iron, 100_GeV));
+    CHECK_FALSE(model.isValid(Code::Proton, Code::Iron, 10_EeV));
     CHECK(model.isValid(Code::Proton, Code::Oxygen, 100_GeV));
   }