diff --git a/Mesh/Numeric.cpp b/Mesh/Numeric.cpp
index 7e89139c7f8d8c208bc4e11d51f7e7d625dce6aa..7e0c497c0386225281798a635436d3dddf200f53 100644
--- a/Mesh/Numeric.cpp
+++ b/Mesh/Numeric.cpp
@@ -1,4 +1,4 @@
-// $Id: Numeric.cpp,v 1.16 2001-07-26 21:26:34 geuzaine Exp $
+// $Id: Numeric.cpp,v 1.17 2001-08-01 21:18:21 geuzaine Exp $
 
 #include "Gmsh.h"
 #include "Const.h"
@@ -130,7 +130,7 @@ int sys3x3_with_tol (double mat[3][3], double b[3], double res[3], double *det){
     DSQR (mat[2][0]) + DSQR (mat[2][1]) + DSQR (mat[2][2]) ;
 
   // TOLERANCE ! WARNING WARNING
-  if (norm == 0.0 || fabs (*det) / norm < 1.e-07){
+  if (norm == 0.0 || fabs (*det) / norm < 1.e-12){
     Msg(DEBUG, "Assuming 3x3 matrix is singular (det/norm == %g)", fabs(*det)/norm);
     res[0] = res[1] = res[2] = 0.0 ;
     return 0;