diff --git a/math/genvector/test/testGenVector.cxx b/math/genvector/test/testGenVector.cxx
index 24d9800f703acea99aeb72f26a82f43a96fad608..eb79a251c89b40d9ebf8879ae0b97a844570a1ea 100644
--- a/math/genvector/test/testGenVector.cxx
+++ b/math/genvector/test/testGenVector.cxx
@@ -518,7 +518,10 @@ int testTransform3D() {
 
   Translation3D tr1(v);
   Translation3D tr2(v.X(),v.Y(),v.Z());
+// skip this test on 32 bits architecture. It might fail due to extended precision
+#if !defined(__i386__)
   iret |= compare(tr1 ==tr2, 1,"eq transl",1 );
+#endif
 
   Translation3D tr3 = tr1 * tr1.Inverse(); 
   GlobalPolar3DVector vp2 = tr3 * v;