diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp
index 89d962b925f41e6346d59d7d1d20042580249e6f..15f0c3ab68cd17822c84f7a106338dfc72124d4e 100644
--- a/Geo/GModel.cpp
+++ b/Geo/GModel.cpp
@@ -356,7 +356,7 @@ void GModel::snapVertices()
   }
 }
 
-void GModel::getEntities(std::vector<GEntity*> &entities)
+void GModel::getEntities(std::vector<GEntity*> &entities) const
 {
   entities.clear();
   entities.insert(entities.end(), vertices.begin(), vertices.end());
@@ -706,7 +706,7 @@ int GModel::getMeshStatus(bool countDiscrete)
   return -1;
 }
 
-int GModel::getNumMeshVertices()
+int GModel::getNumMeshVertices() const
 {
   std::vector<GEntity*> entities;
   getEntities(entities);
diff --git a/Geo/GModel.h b/Geo/GModel.h
index 6913e2c7d5b81701911b1b4847a6afcfd7254d97..f39687a46bc24eff2be1ce648be70a650efca7d2 100644
--- a/Geo/GModel.h
+++ b/Geo/GModel.h
@@ -280,7 +280,7 @@ class GModel
   void snapVertices();
 
   // fill a vector containing all the entities in the model
-  void getEntities(std::vector<GEntity*> &entities);
+  void getEntities(std::vector<GEntity*> &entities) const;
 
   // return the highest number associated with an elementary entity of
   // a given dimension (or the highest overall if dim < 0)
@@ -360,7 +360,7 @@ class GModel
   void setMeshElementIndex(MElement *e, int index);
 
   // return the total number of vertices in the mesh
-  int getNumMeshVertices();
+  int getNumMeshVertices() const;
 
   // access a mesh vertex by tag, using the vertex cache
   MVertex *getMeshVertexByTag(int n);