diff --git a/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/cfNewPm.cxx b/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/cfNewPm.cxx
index 9e52aa2adb5a3c9aab339bf34ba4e41640a79abc..0ba750e576ce69d0a6265fa9ee7f6b8baa68d7da 100755
--- a/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/cfNewPm.cxx
+++ b/Tracking/TrkVertexFitter/TrkVKalVrtCore/src/cfNewPm.cxx
@@ -91,6 +91,7 @@ void cfnewpm(double *par, const double *xyzStart, double *xyzEnd, const double u
 /*   at new point with new mag.field */
 
     constB = myMagFld.getMagFld(xyzEnd,CONTROL) * myMagFld.getCnvCst() ;
+    if(std::abs(constB)<0.001)constB=0.001; //Protection against zero field
 
     dpar0[0] = 0.;
     dpar0[1] = 0.;