diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp
index 3ec1ad7930870166d5a51dbbe03a2f2396481ef7..df7b22e99a2c024973df4e6ffd049d631a252e04 100644
--- a/Geo/GModel.cpp
+++ b/Geo/GModel.cpp
@@ -815,51 +815,6 @@ MVertex *GModel::getMeshVertexByTag(int n)
     return _vertexMapCache[n];
 }
 
-MVertex* GModel::getMeshVertexByCoordinates(double x, double y, double z, double tol)
-{
-  if(_vertexVectorCache.empty() && _vertexMapCache.empty()){
-    Msg::Debug("Rebuilding mesh vertex cache");
-    _vertexVectorCache.clear();
-    _vertexMapCache.clear();
-    bool dense = (getNumMeshVertices() == _maxVertexNum);
-    std::vector<GEntity*> entities;
-    getEntities(entities);
-    if(dense){
-      Msg::Debug("Good: we have a dense vertex numbering in the cache");
-      // numbering starts at 1
-      _vertexVectorCache.resize(_maxVertexNum + 1);
-      for(unsigned int i = 0; i < entities.size(); i++)
-        for(unsigned int j = 0; j < entities[i]->mesh_vertices.size(); j++)
-          _vertexVectorCache[entities[i]->mesh_vertices[j]->getNum()] =
-            entities[i]->mesh_vertices[j];
-    }
-    else{
-      for(unsigned int i = 0; i < entities.size(); i++)
-        for(unsigned int j = 0; j < entities[i]->mesh_vertices.size(); j++)
-          _vertexMapCache[entities[i]->mesh_vertices[j]->getNum()] =
-            entities[i]->mesh_vertices[j];
-    }
-  }
-
-  for (unsigned int i = 1; i< _vertexVectorCache.size(); i++){
-    MVertex* v = _vertexVectorCache[i];
-    double l = sqrt((v->x() -x)*(v->x()-x)+ (v->y()-y)*(v->y()-y)+ (v->z()-z)*(v->z()-z));
-    if (l < tol) return v;
-  }
-
-  for (std::map<int,MVertex*>::iterator it = _vertexMapCache.begin(); it!= _vertexMapCache.end(); it++){
-    MVertex* v = it->second;
-    double l = sqrt((v->x() -x)*(v->x()-x)+ (v->y()-y)*(v->y()-y)+ (v->z()-z)*(v->z()-z));
-    if (l < tol) return v;
-  }
-
-  MVertex* v = new MVertex(x,y,z);
-  _vertexVectorCache.push_back(v);
-  _vertexMapCache[v->getNum()] = v;
-
-  return v;
-};
-
 void GModel::getMeshVerticesForPhysicalGroup(int dim, int num, std::vector<MVertex*> &v)
 {
   v.clear();
diff --git a/Geo/GModel.h b/Geo/GModel.h
index 18d7d44760003016371336c7c8f644f4485b2cbc..acfc1c8db59de05090fb251f3c366fca5d17d2fb 100644
--- a/Geo/GModel.h
+++ b/Geo/GModel.h
@@ -368,9 +368,6 @@ class GModel
   // access a mesh vertex by tag, using the vertex cache
   MVertex *getMeshVertexByTag(int n);
 
-	// get a mesh vertex by coordinate, using the vertex cache
-	MVertex *getMeshVertexByCoordinates(double x, double y, double z, double tol);
-
   // get all the mesh vertices associated with the physical group
   // of dimension "dim" and id number "num"
   void getMeshVerticesForPhysicalGroup(int dim, int num, std::vector<MVertex*> &);