diff --git a/Geo/GFaceCompound.cpp b/Geo/GFaceCompound.cpp
index 762018d202594d89f5008a9d2700128f55b808b2..2889e567e615565eab25f619d065621d4ea7fcc2 100644
--- a/Geo/GFaceCompound.cpp
+++ b/Geo/GFaceCompound.cpp
@@ -518,7 +518,6 @@ bool GFaceCompound::parametrize() const
   //compute_distance();
 
   buildOct();  
-  printStuff();
 
   if (!checkOrientation(0)){
     Msg::Info("--- Parametrization switched to convex combination map");
@@ -531,6 +530,8 @@ bool GFaceCompound::parametrize() const
     buildOct();
   }
 
+  printStuff();
+
   double AR = checkAspectRatio();
   if (floor(AR)  > AR_MAX){
     Msg::Warning("Geometrical aspect ratio too high %d ", AR);
diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp
index 4f8059902d702fc711383b0d47bc4109a16617c2..738a268894adb8db36184c8cfb6f5ef8055f066b 100644
--- a/Geo/GModel.cpp
+++ b/Geo/GModel.cpp
@@ -1133,7 +1133,6 @@ void GModel::createTopologyFromFaces(std::vector<discreteFace*> &discFaces)
       discEdges.push_back((discreteEdge*) *it);
   }
 
-  printf("coucou1\n");
 
   // find boundary edges of each face and put them in a map_edges that
   // associates the MEdges with the tags of the adjacent faces
@@ -1142,7 +1141,6 @@ void GModel::createTopologyFromFaces(std::vector<discreteFace*> &discFaces)
        it != discFaces.end(); it++)
     (*it)->findEdges(map_edges);
 
-  printf("coucou2\n");
 
   
   //return if no boundary edges (torus, sphere, ...)
diff --git a/Geo/GModelIO_Geo.cpp b/Geo/GModelIO_Geo.cpp
index f37c46e45c88f9e5058491fa42d84b1f23c2d17b..9de288891a36be27bb48ebe733406c777cfe2eb1 100644
--- a/Geo/GModelIO_Geo.cpp
+++ b/Geo/GModelIO_Geo.cpp
@@ -74,6 +74,7 @@ int GModel::exportDiscreteGEOInternals()
  	  c->end = v;
  	}	
       }
+      End_Curve(c);
       Tree_Add(GModel::current()->getGEOInternals()->Curves, &c);
       CreateReversedCurve(c);
     }
@@ -153,7 +154,9 @@ int GModel::importGEOInternals()
           e->resetMeshAttributes();
         if(!c->Visible) e->setVisibility(0);
         if(c->Color.type) e->setColor(c->Color.mesh);
-        if(c->degenerated) e->setTooSmall(true);
+        if(c->degenerated) {
+	  e->setTooSmall(true);
+	}
       }
     }
     List_Delete(curves);
diff --git a/Geo/discreteEdge.cpp b/Geo/discreteEdge.cpp
index bcba5b0c134b0c9952d2db4651778236df37b396..40d2c1c42065bf7099efdca7b6d563ea7becb4dd 100644
--- a/Geo/discreteEdge.cpp
+++ b/Geo/discreteEdge.cpp
@@ -139,7 +139,6 @@ void discreteEdge::orderMLines()
   if (lines.size() < 2) return;
   if (_orientation[0] && lines[0]->getVertex(1) != lines[1]->getVertex(1)
       && lines[0]->getVertex(1) != lines[1]->getVertex(0)){
-    printf("coucou here \n");
     for (unsigned int i = 0; i < lines.size(); i++) _orientation[i] = !_orientation[i];
   }
 
@@ -295,7 +294,6 @@ void discreteEdge::parametrize( std::map<GFace*,  std::map<MVertex*, MVertex*, s
        itmap->second = mapVert;
      }
    }
-
 }
 
 void discreteEdge::computeNormals () const
diff --git a/Geo/discreteFace.cpp b/Geo/discreteFace.cpp
index 01c69878157726f7f59eeab5c0681982706b510b..63ce4c731a90e442bbf7035f78fe6da0f4f2ed89 100644
--- a/Geo/discreteFace.cpp
+++ b/Geo/discreteFace.cpp
@@ -24,7 +24,6 @@ discreteFace::discreteFace(GModel *model, int num) : GFace(model, num)
 void discreteFace::findEdges(std::map<MEdge, std::vector<int>, Less_Edge> &map_edges)
 {
 
-  printf("coucou 3\n");
   std::set<MEdge, Less_Edge> bound_edges;
   for (unsigned int iFace = 0; iFace  < getNumMeshElements() ; iFace++) {
     MElement *e = getMeshElement(iFace);
@@ -35,8 +34,6 @@ void discreteFace::findEdges(std::map<MEdge, std::vector<int>, Less_Edge> &map_e
       else bound_edges.erase(itset);
     }
   }
-  printf("coucou 4\n");
-
   // for the boundary edges, associate the tag of the current discrete face
   for (std::set<MEdge, Less_Edge>::iterator itv = bound_edges.begin();
        itv != bound_edges.end(); ++itv){
@@ -52,7 +49,6 @@ void discreteFace::findEdges(std::map<MEdge, std::vector<int>, Less_Edge> &map_e
       itmap->second = tagFaces;
     }
   }
-  printf("coucou 5\n");
 }
 
 void discreteFace::setBoundEdges(std::vector<int> tagEdges)
diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp
index adfa37a20d1dec4cc05a71882ba6d38428c6f59d..a9097099ac4c63e5c34d82d6e1d827d17f324151 100644
--- a/Mesh/Generator.cpp
+++ b/Mesh/Generator.cpp
@@ -401,7 +401,7 @@ static void Mesh2D(GModel *m)
   double t1 = Cpu();
 
   // skip short mesh edges
-  geomTresholdVertexEquivalence inst(m);
+  //geomTresholdVertexEquivalence inst(m);
 
   // boundary layers are special: their generation (including vertices
   // and curve meshes) is global as it depends on a smooth normal
diff --git a/Mesh/meshGEdge.cpp b/Mesh/meshGEdge.cpp
index d3b3a345dfadba8a8c91097ec3e166752a5d5e2e..93f2de9ab2b591dcbbf33c3a073d7563d10608e5 100644
--- a/Mesh/meshGEdge.cpp
+++ b/Mesh/meshGEdge.cpp
@@ -278,8 +278,10 @@ void meshGEdge::operator() (GEdge *ge)
   else
     Msg::Debug("Curve %d has a zero length", ge->tag());
 
-  if(length < CTX::instance()->mesh.toleranceEdgeLength) ge->setTooSmall(true);
-
+  if(length < CTX::instance()->mesh.toleranceEdgeLength) {
+    //    printf("AAAAAAAAAAAAAAAAAAAARGHHHHHHHHHHHHHHHHHHHHHHHH\n");
+    ge->setTooSmall(true);
+  }
   // Integrate detJ/lc du 
   double a;
   int N;