diff --git a/corsika/framework/core/PhysicalConstants.hpp b/corsika/framework/core/PhysicalConstants.hpp
index 92df20c2018ef382aac191517116d98363155f25..8cc4f2319ddc8340467e29eb9bcde661d04fecfa 100644
--- a/corsika/framework/core/PhysicalConstants.hpp
+++ b/corsika/framework/core/PhysicalConstants.hpp
@@ -35,6 +35,9 @@ namespace corsika::constants {
   // elementary charge
   constexpr quantity<electric_charge_d> e{Rep(1.6021766208e-19L) * coulomb};
 
+  // vacuum permittivity
+  constexpr quantity<dimensions<-3, -1, 4, 2>> epsilonZero{Rep(8.8541878128e-12L) * farad / meter};
+
   // electronvolt
   // constexpr quantity<hepenergy_d> eV{e / coulomb * joule};
 
diff --git a/corsika/modules/radio/CoREAS.hpp b/corsika/modules/radio/CoREAS.hpp
index c57c6faea7a5a81644014ada0554c7d8b5542c74..7730d07db31b04f775b5333f979901d1532078b4 100755
--- a/corsika/modules/radio/CoREAS.hpp
+++ b/corsika/modules/radio/CoREAS.hpp
@@ -108,17 +108,11 @@ namespace corsika {
 
           // store the receive unit vector
           ReceiveVectorsStart_.push_back(path.receive_);
-//          auto kkk{path.receive_.cross(path.receive_.cross(beta_))};
-//          auto kk{path.R_distance_ * preDoppler_};
-//          auto kkkk{kkk/kk};
-//          auto kc{kkkk * (1 / 1_s) /constants::c};
-//          auto kosta{charge_ * 1_m};
 
-          //(charge_ / constants::c) *
           // calculate electric field vector for startpoint
           ElectricFieldVector EV1_=
-                     path.receive_.cross(path.receive_.cross(beta_)) /
-                     (path.R_distance_ * preDoppler_) * ((1 / 1_s) * (1 / constants::c)) * charge_;
+                     path.receive_.cross(path.receive_.cross(beta_)).getComponents() /
+                     (path.R_distance_ * preDoppler_) * (1 / (4 * M_PI * 1_s)) * ((1 / constants::epsilonZero) * (1 / constants::c)) * charge_;
 
           // store it to EVstart_ std::vector for later use
           EVstart_.push_back(EV1_);
@@ -149,8 +143,8 @@ namespace corsika {
 
           // calculate electric field vector for endpoint
           ElectricFieldVector EV2_=
-                     path.receive_.cross(path.receive_.cross(beta_)) /
-                     (path.R_distance_ * postDoppler_) * ((1 / 1_s) * (1 / constants::c)) * charge_;
+                     path.receive_.cross(path.receive_.cross(beta_)).getComponents() /
+                     (path.R_distance_ * postDoppler_) * (1 / (4 * M_PI * 1_s)) * ((1 / constants::epsilonZero) * (1 / constants::c)) * charge_;
 
           // store it to EVstart_ std::vector for later use
           EVend_.push_back(EV2_);
@@ -268,8 +262,8 @@ namespace corsika {
 
                 // CoREAS calculation -> get ElectricFieldVector3 for "midPoint"
                 ElectricFieldVector EVmid_ =
-                                             path.receive_.cross(path.receive_.cross(beta_)) /
-                                             (path.R_distance_ * midDoppler_) * ((1 / 1_s) * (1 / constants::c)) * charge_;
+                                             path.receive_.cross(path.receive_.cross(beta_)).getComponents() /
+                                             (path.R_distance_ * midDoppler_) * (1 / (4 * M_PI * 1_s)) * ((1 / constants::epsilonZero) * (1 / constants::c)) * charge_;
 
 //                ElectricFieldVector EVmid2_ = (- charge_ / constants::c) *
 //                                             path.receive_.cross(path.receive_.cross(beta_)) /