diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp
index 3f3c9ef0601ab685492aac9b2d4a648e932047e1..89df670316b21f03f16b200a23e1739fe8fad121 100644
--- a/Geo/GModel.cpp
+++ b/Geo/GModel.cpp
@@ -1500,7 +1500,7 @@ void GModel::checkMeshCoherence(double tolerance)
         double vol = e->getVolume();
         if(vol < 0)
           Msg::Warning("Element %d has negative volume", e->getNum());
-        else if(vol < 1e-12)
+        else if(vol < eps * eps * eps)
           Msg::Warning("Element %d has zero volume", e->getNum());
         SPoint3 p = e->barycenter();
         vertices.push_back(new MVertex(p.x(), p.y(), p.z()));