diff --git a/Geo/GModelIO_MSH2.cpp b/Geo/GModelIO_MSH2.cpp
index c2a1f100dd3fe942dd325781021192feeb5b6f94..3d3b555e138458f382d966ba32f23f73a7749c53 100644
--- a/Geo/GModelIO_MSH2.cpp
+++ b/Geo/GModelIO_MSH2.cpp
@@ -420,6 +420,7 @@ int GModel::_readMSH2(const std::string &name)
           }
           else{
             if(!getVertices(numVertices, indices, vertexMap, vertices)){
+              delete [] indices;
               fclose(fp);
               return 0;
             }
diff --git a/Mesh/CenterlineField.cpp b/Mesh/CenterlineField.cpp
index fa2d910d0a1694eb3a645c3776e95f9e191e30e0..0326e0e2a14295b3317c9352f6b75ddff544ba7b 100644
--- a/Mesh/CenterlineField.cpp
+++ b/Mesh/CenterlineField.cpp
@@ -1006,8 +1006,10 @@ bool Centerline::cutByDisk(SVector3 &PT, SVector3 &NORM, double &maxRad)
       double rdist = -V1/(V2-V1);
       if (inters && rdist > EPS && rdist < 1.-EPS){
 	SVector3 PZ = P1+rdist*(P2-P1);
-	MVertex *newv = new MVertex (PZ.x(), PZ.y(), PZ.z());
-	if (inDisk) cutEdges.insert(std::make_pair(me,newv));
+	if (inDisk){
+          MVertex *newv = new MVertex (PZ.x(), PZ.y(), PZ.z());
+          cutEdges.insert(std::make_pair(me,newv));
+        }
       }
       else if (inters && rdist <= EPS && inDisk )
 	cutVertices.push_back(me.getVertex(0));