diff --git a/corsika/detail/modules/conex/CONEXhybrid.inl b/corsika/detail/modules/conex/CONEXhybrid.inl
index 6d94ab74759f09168d765948324ce5830aafe7de..6fbfb02e18acba5dddf6a5108bdfd91126a802fc 100644
--- a/corsika/detail/modules/conex/CONEXhybrid.inl
+++ b/corsika/detail/modules/conex/CONEXhybrid.inl
@@ -125,7 +125,8 @@ namespace corsika {
     ::conex::conexrun_(ipart, eprima, theta, phi, xminp, dimpact, ioseed.data());
   }
 
-  inline void CONEXhybrid::doSecondaries(setup::StackView& vS) {
+  template <typename TStackView>
+  inline void CONEXhybrid::doSecondaries(TStackView& vS) {
     auto p = vS.begin();
     while (p != vS.end()) {
       Code const pid = p.getPID();
diff --git a/corsika/modules/conex/CONEXhybrid.hpp b/corsika/modules/conex/CONEXhybrid.hpp
index 659cbe95bda2b0635b15f909e0c3708195946c07..2f0b80873dfa4109202f1a01cb11ff571c988cfd 100644
--- a/corsika/modules/conex/CONEXhybrid.hpp
+++ b/corsika/modules/conex/CONEXhybrid.hpp
@@ -14,7 +14,6 @@
 #include <corsika/framework/geometry/Vector.hpp>
 #include <corsika/framework/process/SecondariesProcess.hpp>
 #include <corsika/media/ShowerAxis.hpp>
-#include <corsika/setup/SetupStack.hpp>
 
 #include <corsika/modules/conex/CONEX_f.hpp>
 
@@ -29,7 +28,9 @@ namespace corsika {
   public:
     CONEXhybrid(Point center, ShowerAxis const& showerAxis, LengthType groundDist,
                 LengthType injectionHeight, HEPEnergyType primaryEnergy, PDGCode pdg);
-    void doSecondaries(setup::StackView&);
+
+    template <typename TStackView>
+    void doSecondaries(TStackView&);
 
     void solveCE();