diff --git a/Geo/GEdge.cpp b/Geo/GEdge.cpp
index 8c43b0db8690a4643ab43811f9f932b4601ab4ac..f7ae18bdcda1c70c88a704184a167da8b7575ec9 100644
--- a/Geo/GEdge.cpp
+++ b/Geo/GEdge.cpp
@@ -1,4 +1,4 @@
-// $Id: GEdge.cpp,v 1.24 2007-03-09 14:57:06 remacle Exp $
+// $Id: GEdge.cpp,v 1.25 2007-03-18 23:02:26 geuzaine Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -36,7 +36,7 @@ GEdge::GEdge(GModel *model, int tag, GVertex *_v0, GVertex *_v1)
 GEdge::~GEdge() 
 {
   if(v0) v0->delEdge(this);
-  if(v1) v1->delEdge(this);
+  if(v1 && v1 != v0) v1->delEdge(this);
 
   for(unsigned int i = 0; i < mesh_vertices.size(); i++) 
     delete mesh_vertices[i];
@@ -132,7 +132,6 @@ SPoint2 GEdge::reparamOnFace(GFace *face, double epar,int dir) const
   return face->parFromPoint(sp3);
 }
 
-
 double GEdge::curvature(double par) const 
 {
   double eps1 = 1.e-3;
diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp
index de4deaf3a082bd9fb20cae4914cd482a5d0bfa5d..5f79b9b2fa8a2cb0ccdafd28fe8eff10f45f257d 100644
--- a/Geo/GModel.cpp
+++ b/Geo/GModel.cpp
@@ -1,4 +1,4 @@
-// $Id: GModel.cpp,v 1.35 2007-03-02 08:44:55 geuzaine Exp $
+// $Id: GModel.cpp,v 1.36 2007-03-18 23:02:26 geuzaine Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -45,6 +45,7 @@ void GModel::destroy()
   gmshSurface::reset();
   Attractor::reset();
 }
+
 GRegion * GModel::regionByTag(int n) const
 {
   GEntity tmp((GModel*)this, n);