diff --git a/CMakeLists.txt b/CMakeLists.txt
index a379d4a624d8b095d5be517502f28d62d249f3be..66303ba645c6dff9068b8c8c0df6f1dbc10215f2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -60,7 +60,7 @@ set(GMSH_API
   ${CMAKE_BINARY_DIR}/Common/GmshConfig.h 
   ${CMAKE_BINARY_DIR}/Common/GmshVersion.h
   Common/Gmsh.h Common/GmshDefines.h Common/GmshMessage.h Common/VertexArray.h
-  Numeric/Numeric.h Numeric/Gauss.h Numeric/functionSpace.h Numeric/fullMatrix.h
+  Numeric/Numeric.h Numeric/Gauss.h Numeric/polynomialBasis.h Numeric/fullMatrix.h
     Numeric/simpleFunction.h Numeric/cartesian.h
   Geo/GModel.h Geo/GEntity.h Geo/GPoint.h Geo/GVertex.h Geo/GEdge.h 
     Geo/GFace.h Geo/GRegion.h Geo/GEdgeLoop.h Geo/GEdgeCompound.h 
diff --git a/Graphics/drawMesh.cpp b/Graphics/drawMesh.cpp
index 1c3404d16a8013dd7127997db565ad8aa7cbe259..156a46f871361f129bcea48c90ded2dd9d2e1d07 100644
--- a/Graphics/drawMesh.cpp
+++ b/Graphics/drawMesh.cpp
@@ -980,13 +980,13 @@ void drawContext::drawMesh()
   // make sure to flag any model-dependent post-processing view as
   // changed if the underlying mesh has, before resetting the changed
   // flag
-  for(unsigned int i = 0; i < GModel::list.size(); i++){
-    GModel *m = GModel::list[i];
-    for(unsigned int j = 0; j < PView::list.size(); j++)
-      if(PView::list[j]->getData()->hasModel(m) && CTX::instance()->mesh.changed)
-        PView::list[j]->setChanged(true);
+  if(CTX::instance()->mesh.changed){
+    for(unsigned int i = 0; i < GModel::list.size(); i++)
+      for(unsigned int j = 0; j < PView::list.size(); j++)
+        if(PView::list[j]->getData()->hasModel(GModel::list[i]))
+          PView::list[j]->setChanged(true);
   }
-
+  
   glPointSize((float)CTX::instance()->mesh.pointSize);
   gl2psPointSize((float)(CTX::instance()->mesh.pointSize * 
                          CTX::instance()->print.epsPointSizeFactor));