diff --git a/Processes/CONEXSourceCut/testCONEXSourceCut.cc b/Processes/CONEXSourceCut/testCONEXSourceCut.cc
index 390b6cab87b66dc977e6b534756ca492a1fec288..3657aea840b9d587847e6e1156c56036e0016576 100644
--- a/Processes/CONEXSourceCut/testCONEXSourceCut.cc
+++ b/Processes/CONEXSourceCut/testCONEXSourceCut.cc
@@ -31,6 +31,8 @@ TEST_CASE("CONEXSourceCut") {
   random::RNGManager::GetInstance().RegisterRandomStream("cascade");
   random::RNGManager::GetInstance().RegisterRandomStream("s_rndm");
 
+  feenableexcept(FE_INVALID);
+
   // setup environment, geometry
   using EnvType = Environment<setup::IEnvironmentModel>;
   EnvType env;
@@ -51,7 +53,7 @@ TEST_CASE("CONEXSourceCut") {
 
   const HEPEnergyType mass = particles::GetMass(particles::Code::Proton);
   const HEPEnergyType E0 = 1_PeV;
-  double thetaDeg = 0.;
+  double thetaDeg = 60.;
   auto const thetaRad = thetaDeg / 180. * M_PI;
 
   auto elab2plab = [](HEPEnergyType Elab, HEPMassType m) {
@@ -66,8 +68,8 @@ TEST_CASE("CONEXSourceCut") {
   auto const [px, py, pz] = momentumComponents(thetaRad, P0);
   auto plab = corsika::stack::MomentumVector(rootCS, {px, py, pz});
 
-  auto const observationHeight = 1._km + builder.earthRadius;
-  auto const injectionHeight = 112.75_km + builder.earthRadius;
+  auto const observationHeight = 1.4_km + conex::earthRadius;
+  auto const injectionHeight = 112.75_km + conex::earthRadius;
   auto const t =
       -observationHeight * cos(thetaRad) +
       sqrt(-units::si::detail::static_pow<2>(sin(thetaRad) * observationHeight) +
@@ -86,10 +88,23 @@ TEST_CASE("CONEXSourceCut") {
   sibyllNuc.Init();
 
   corsika::process::conex_source_cut::CONEXSourceCut conex(
-      center, showerAxis, (showerCore - injectionPos).norm(), 112.75_km, E0,
+      center, showerAxis, t, injectionHeight, E0,
       particles::GetPDG(particles::Code::Proton));
 
-  conex.dummyAddPhoton();
+  HEPEnergyType const Eem{1_PeV};
+  auto const momentum = showerAxis.GetDirection() * Eem;
+
+  auto const emPosition = showerCore + showerAxis.GetDirection() * (-20_km);
+
+  std::cout << "position injection: "
+            << injectionPos.GetCoordinates(conex.GetObserverCS()) << " "
+            << injectionPos.GetCoordinates(rootCS) << std::endl;
+  std::cout << "position core: " << showerCore.GetCoordinates(conex.GetObserverCS())
+            << " " << showerCore.GetCoordinates(rootCS) << std::endl;
+  std::cout << "position EM: " << emPosition.GetCoordinates(conex.GetObserverCS()) << " "
+            << emPosition.GetCoordinates(rootCS) << std::endl;
+
+  conex.addParticle(0, Eem, emPosition, momentum.normalized(), 0_s);
 
   conex.SolveCE();
 }