diff --git a/Geo/GFace.cpp b/Geo/GFace.cpp
index f1b6f650c75a433aada0507fe2f7656b2adf65b9..7c1d108e5a9e883160545c47f08678ca0df235e5 100644
--- a/Geo/GFace.cpp
+++ b/Geo/GFace.cpp
@@ -1,4 +1,4 @@
-// $Id: GFace.cpp,v 1.23 2006-11-27 22:22:13 geuzaine Exp $
+// $Id: GFace.cpp,v 1.24 2006-12-03 00:04:31 geuzaine Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -24,6 +24,7 @@
 #include "GEdge.h"
 #include "Message.h"
 #include "Numeric.h"
+#include "Context.h"
 
 #if defined(HAVE_GSL)
 #include <gsl/gsl_vector.h>
@@ -34,6 +35,8 @@
 void dsvdcmp(double **a, int m, int n, double w[], double **v);
 #endif
 
+extern Context_T CTX;
+
 GFace::GFace(GModel *model, int tag) : GEntity(model, tag), r1(0), r2(0) 
 {
   meshAttributes.recombine = 0;
@@ -403,7 +406,7 @@ void GFace::XYZtoUV(const double X, const double Y, const double Z,
   const int MaxIter = 25;
   const int NumInitGuess = 11;
 
-  double Unew = 0., Vnew = 0., err,err2;
+  double Unew = 0., Vnew = 0., err, err_xyz;
   int iter;
   double mat[3][3], jac[3][3];
   double umin, umax, vmin, vmax;
@@ -446,19 +449,18 @@ void GFace::XYZtoUV(const double X, const double Y, const double Z,
 	   jac[2][1] * (Z - P.z()));
 	
 	err = DSQR(Unew - U) + DSQR(Vnew - V);
-	// A BETTER TEST !! (JFR/AUG 2006)
-	err2 = DSQR(X - P.x()) + DSQR(Y - P.y()) + DSQR(Z - P.z());	
+	err_xyz = DSQR(X - P.x()) + DSQR(Y - P.y()) + DSQR(Z - P.z());
 	iter++;
 	U = Unew;
 	V = Vnew;
       }
       
-      
-      if(iter < MaxIter && err <= Precision && err2 <= 1.e-5 &&
+      if(iter < MaxIter && err <= Precision &&
 	 Unew <= umax && Vnew <= vmax && 
 	 Unew >= umin && Vnew >= vmin){
-	if (err2 > Precision)
-	  Msg(WARNING,"converged for i=%d j=%d (err=%g iter=%d) BUT err2 = %g", i, j, err, iter,err2);
+	if(err_xyz > 1.e-5)
+	  Msg(WARNING,"converged for i=%d j=%d (err=%g iter=%d), but err_xyz = %g", 
+	      i, j, err, iter, err_xyz);
 	return;	
       }
     }
diff --git a/Geo/gmshFace.cpp b/Geo/gmshFace.cpp
index be1d978562de4aca46173db2394bfd40f9897114..868519bea2e0aa9e2472481158bc8378a45805d3 100644
--- a/Geo/gmshFace.cpp
+++ b/Geo/gmshFace.cpp
@@ -1,4 +1,4 @@
-// $Id: gmshFace.cpp,v 1.26 2006-11-29 16:57:01 remacle Exp $
+// $Id: gmshFace.cpp,v 1.27 2006-12-03 00:04:31 geuzaine Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -161,7 +161,6 @@ GPoint gmshFace::point(double par1, double par2) const
   if(s->Typ == MSH_SURF_PLAN){
     double x, y, z, VX[3], VY[3];
     getMeanPlaneData(VX, VY, x, y, z);
-
     return GPoint(x + VX[0] * par1 + VY[0] * par2,
 		  y + VX[1] * par1 + VY[1] * par2,
 		  z + VX[2] * par1 + VY[2] * par2, this, pp);
@@ -207,7 +206,6 @@ SPoint2 gmshFace::parFromPoint(const SPoint3 &qp) const
     return SPoint2(u, v); 
   }
   else{
-    //    XYZtoUV(s, qp.x(), qp.y(), qp.z(), &u, &v, 1.0);
     return GFace::parFromPoint(qp);
   }
 }
diff --git a/Mesh/meshGFace.cpp b/Mesh/meshGFace.cpp
index e051dabc77ceb5f69c4e369065d1c63936ce2dd6..bde0721acbe147d5b7361c52a32a9c55f693b211 100644
--- a/Mesh/meshGFace.cpp
+++ b/Mesh/meshGFace.cpp
@@ -1,4 +1,4 @@
-// $Id: meshGFace.cpp,v 1.36 2006-11-30 13:55:20 geuzaine Exp $
+// $Id: meshGFace.cpp,v 1.37 2006-12-03 00:04:31 geuzaine Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -1337,20 +1337,12 @@ void meshGFace :: operator() (GFace *gf)
 
   std::vector<MVertex*> points;
   std::vector<int> indices;
-  // compute loops on the fly
-// indices indicate start and end points of a loop
-  // loops are not yet oriented
+  // compute loops on the fly (indices indicate start and end points
+  // of a loop; loops are not yet oriented)
   Msg(DEBUG1, "Computing edge loops");
   computeEdgeLoops(gf, points, indices);
-  Msg(DEBUG1, "Computing mean plane");
-
-
-
-  // compute the mean plane, this is sometimes useful 
-  gf->computeMeanPlane(points);
 
   Msg(DEBUG1, "Generating the mesh");
-
   // temp fix until we create MEdgeLoops in gmshFace:
   if(gf->getNativeType() == GEntity::GmshModel || gf->edgeLoops.empty())
     gmsh2DMeshGenerator ( gf ) ;