diff --git a/src/narrowphase/gjk.cpp b/src/narrowphase/gjk.cpp
index 0cb287a229c2c86c7f09a39a16e5b85af46a1aa4..329d9537c7e79a337c1506be7334cdf930bb4371 100644
--- a/src/narrowphase/gjk.cpp
+++ b/src/narrowphase/gjk.cpp
@@ -1100,7 +1100,7 @@ EPA::SimplexF* EPA::newFace(SimplexV* a, SimplexV* b, SimplexV* c, bool forced)
     face->n = (b->w - a->w).cross(c->w - a->w);
     FCL_REAL l = face->n.norm();
       
-    if(l > tolerance)
+    if(l > Eigen::NumTraits<FCL_REAL>::epsilon())
     {
       face->n /= l;