diff --git a/Graphics/Geom.cpp b/Graphics/Geom.cpp
index e6157b49c6da0ce03e906184ba91ef4bbd58f526..4bec8461e323c8d48527475851cd92b03ca95cdc 100644
--- a/Graphics/Geom.cpp
+++ b/Graphics/Geom.cpp
@@ -1,4 +1,4 @@
-// $Id: Geom.cpp,v 1.13 2001-01-24 11:24:05 geuzaine Exp $
+// $Id: Geom.cpp,v 1.14 2001-01-24 16:15:30 geuzaine Exp $
 
 #include "Gmsh.h"
 #include "GmshUI.h"
@@ -241,6 +241,9 @@ void Plan_SurfPlane (void *data,void *dum){
 
   ix=iy=iz=0;
 
+  // TOLERANCE ! WARNING WARNING
+  double eps = 1.e-6 * CTX.lc;
+
   for(i=0;i<N;i++){
     List_Read(points,i,&v);
     if(!i){
@@ -249,9 +252,9 @@ void Plan_SurfPlane (void *data,void *dum){
       Z = v->Pos.Z;
     }
     else{
-      if(X != v->Pos.X ) ix = 1;
-      if(Y != v->Pos.Y ) iy = 1;
-      if(Z != v->Pos.Z ) iz = 1;
+      if(fabs(X-v->Pos.X) > eps) ix = 1;
+      if(fabs(Y-v->Pos.Y) > eps) iy = 1;
+      if(fabs(Z-v->Pos.Z) > eps) iz = 1;
     }
 
     sys[0][0] += v->Pos.X * v->Pos.X;
diff --git a/Mesh/2D_Mesh.cpp b/Mesh/2D_Mesh.cpp
index daa9eace07d6337049e09fc26cee756804605734..c97581809c8d600be9b8a979cbc8670231ee6f57 100644
--- a/Mesh/2D_Mesh.cpp
+++ b/Mesh/2D_Mesh.cpp
@@ -1,4 +1,4 @@
-// $Id: 2D_Mesh.cpp,v 1.17 2001-01-12 13:29:00 geuzaine Exp $
+// $Id: 2D_Mesh.cpp,v 1.18 2001-01-24 16:15:31 geuzaine Exp $
 
 /*
    Maillage Delaunay d'une surface (Point insertion Technique)
@@ -107,6 +107,9 @@ void Plan_Moyen (void *data, void *dum){
 
   ix = iy = iz = 0;
 
+  // TOLERANCE ! WARNING WARNING
+  double eps = 1.e-6 * CTX.lc;
+
   for (i = 0; i < N; i++){
     List_Read (points, i, &v);
 
@@ -116,12 +119,9 @@ void Plan_Moyen (void *data, void *dum){
       Z = v->Pos.Z;
     }
     else{
-      if (X != v->Pos.X)
-        ix = 1;
-      if (Y != v->Pos.Y)
-        iy = 1;
-      if (Z != v->Pos.Z)
-        iz = 1;
+      if(fabs(X-v->Pos.X) > eps) ix = 1;
+      if(fabs(Y-v->Pos.Y) > eps) iy = 1;
+      if(fabs(Z-v->Pos.Z) > eps) iz = 1;
     }
     
     sys[0][0] += v->Pos.X * v->Pos.X;
diff --git a/Mesh/Vertex.cpp b/Mesh/Vertex.cpp
index fd9af359f8996fc5f6e0c3f54b8d61d68c23f826..05f526d520bd31e4e859ff3d3a083dde49194b5c 100644
--- a/Mesh/Vertex.cpp
+++ b/Mesh/Vertex.cpp
@@ -1,4 +1,4 @@
-// $Id: Vertex.cpp,v 1.5 2001-01-08 08:05:46 geuzaine Exp $
+// $Id: Vertex.cpp,v 1.6 2001-01-24 16:15:31 geuzaine Exp $
 
 #include "Gmsh.h"
 #include "Vertex.h"
@@ -95,6 +95,7 @@ int compareVertex (const void *a, const void *b){
 int comparePosition (const void *a, const void *b){
   int i, j;
   Vertex **q, **w;
+  // TOLERANCE ! WARNING WARNING
   double eps = 1.e-6 * CTX.lc;
 
   q = (Vertex **) a;