diff --git a/corsika/detail/modules/epos/ParticleConversion.inl b/corsika/detail/modules/epos/ParticleConversion.inl
index 4ca093eed8b45c3f98a2e93b210cefd10f2bd4ca..29e721547f5f70a6d5b0cab63964444893b8577e 100644
--- a/corsika/detail/modules/epos/ParticleConversion.inl
+++ b/corsika/detail/modules/epos/ParticleConversion.inl
@@ -20,7 +20,7 @@ namespace corsika::epos {
     if (sCode == 0)
       throw std::runtime_error("getEposMass: unknown particle!");
     else {
-      double mass2;
+      float mass2 = 0;
       ::epos::idmass_(sCode, mass2);
       return sqrt(mass2) * 1_GeV;
     }
diff --git a/modules/epos/epos.hpp b/modules/epos/epos.hpp
index 48809a608c0553af8d1f57f4e5d56b4695b905b1..ed6be8bd1723650ca572a0c92909c96c3cefaec7 100644
--- a/modules/epos/epos.hpp
+++ b/modules/epos/epos.hpp
@@ -100,7 +100,7 @@ namespace epos {
   // get isospin, spin, strangeness for id
   void idspin_(int&, int&, int&, int&);
   // get mass for id
-  void idmass_(int&, double&);
+  void idmass_(int&, float&);
   // convert id from one format to another
   int idtrafo_(char[3], char[3], int&);
 
diff --git a/tests/modules/testEpos.cpp b/tests/modules/testEpos.cpp
index 282b9d178d7eb49cc40ad405df79e7c7089ba487..66dba6031bb67ff3fcdb3cc09bc19985400b049f 100644
--- a/tests/modules/testEpos.cpp
+++ b/tests/modules/testEpos.cpp
@@ -70,7 +70,7 @@ TEST_CASE("Epos", "[processes]") {
   }
 
   SECTION("epos mass") {
-    CHECK_FALSE(corsika::epos::getEposMass(Code::Electron) == 0_GeV);
+    CHECK_FALSE(corsika::epos::getEposMass(Code::Electron) / 1_GeV == Approx(0));
   }
 
   /*