diff --git a/test/stressMathCore.cxx b/test/stressMathCore.cxx
index 8fd7bcfa3c1f3884632cf73bb13654693ed15d18..7c1e9e5b7c25324b715d9b5963068873d2b07894 100644
--- a/test/stressMathCore.cxx
+++ b/test/stressMathCore.cxx
@@ -1112,6 +1112,10 @@ int testVector(int ngen, bool testio=false) {
    scale = Dim*20; 
    if (Dim==3 && VecType<V2>::name() == "RhoEtaPhiVector") scale *= 10; // for problem with RhoEtaPhi
    if (Dim==4 && VecType<V2>::name() == "PtEtaPhiMVector") scale *= 10; 
+#if defined (R__LINUX) && !defined(R__B64) 
+   // problem of precision on linux 32  
+   if (Dim ==4) scale = 1000000000;
+#endif    
    // for problem with PtEtaPhiE
    if (Dim==4 && VecType<V2>::name() == "PtEtaPhiEVector") scale = 0.01/(std::numeric_limits<double>::epsilon()); 
    s2 = a.testOperations(v2);  iret |= a.check(VecType<V2>::name()+" operations",s2,s1,scale);