diff --git a/Fltk/menuWindow.cpp b/Fltk/menuWindow.cpp
index 652b96dd380ff0431e42aaae71add110eaaa0051..9c38895d04cee24c134978393d29477df2b199db 100644
--- a/Fltk/menuWindow.cpp
+++ b/Fltk/menuWindow.cpp
@@ -1616,21 +1616,18 @@ void mesh_1d_cb(Fl_Widget *w, void *data)
 {
   GModel::current()->mesh(1);
   drawContext::global()->draw();
-  Msg::StatusBar(2, false, " ");
 }
 
 void mesh_2d_cb(Fl_Widget *w, void *data)
 {
   GModel::current()->mesh(2);
   drawContext::global()->draw();
-  Msg::StatusBar(2, false, " ");
 }
 
 void mesh_3d_cb(Fl_Widget *w, void *data)
 {
   GModel::current()->mesh(3);
   drawContext::global()->draw();
-  Msg::StatusBar(2, false, " ");
 }
 
 static void mesh_delete_cb(Fl_Widget *w, void *data)
@@ -1831,7 +1828,6 @@ static void mesh_degree_cb(Fl_Widget *w, void *data)
               CTX::instance()->mesh.secondOrderIncomplete);
   CTX::instance()->mesh.changed |= (ENT_LINE | ENT_SURFACE | ENT_VOLUME);
   drawContext::global()->draw();
-  Msg::StatusBar(2, false, " ");
 }
 
 static void mesh_optimize_cb(Fl_Widget *w, void *data)
@@ -1845,7 +1841,6 @@ static void mesh_optimize_cb(Fl_Widget *w, void *data)
   CTX::instance()->lock = 0;
   CTX::instance()->mesh.changed |= (ENT_LINE | ENT_SURFACE | ENT_VOLUME);
   drawContext::global()->draw();
-  Msg::StatusBar(2, false, " ");
 }
 
 static void mesh_refine_cb(Fl_Widget *w, void *data)
@@ -1853,7 +1848,6 @@ static void mesh_refine_cb(Fl_Widget *w, void *data)
   RefineMesh(GModel::current(), CTX::instance()->mesh.secondOrderLinear);
   CTX::instance()->mesh.changed |= (ENT_LINE | ENT_SURFACE | ENT_VOLUME);
   drawContext::global()->draw();
-  Msg::StatusBar(2, false, " ");
 }
 
 static void mesh_optimize_netgen_cb(Fl_Widget *w, void *data)
@@ -1867,7 +1861,6 @@ static void mesh_optimize_netgen_cb(Fl_Widget *w, void *data)
   CTX::instance()->lock = 0;
   CTX::instance()->mesh.changed |= (ENT_LINE | ENT_SURFACE | ENT_VOLUME);
   drawContext::global()->draw();
-  Msg::StatusBar(2, false, " ");
 }
 
 static void mesh_partition_cb(Fl_Widget *w, void *data)
diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp
index 33d53fc7e6ebd39f8874dec9f4c33ecb1b9affb4..4be37989c9e042bd255557a458d93f46f024532c 100644
--- a/Mesh/Generator.cpp
+++ b/Mesh/Generator.cpp
@@ -349,7 +349,7 @@ static void Mesh0D(GModel *m)
 static void Mesh1D(GModel *m)
 {
   if(TooManyElements(m, 1)) return;
-  Msg::StatusBar(1, true, "Meshing 1D...");
+  Msg::StatusBar(2, true, "Meshing 1D...");
   double t1 = Cpu();
 
   for(GModel::eiter it = m->firstEdge(); it != m->lastEdge(); ++it)
@@ -371,8 +371,7 @@ static void Mesh1D(GModel *m)
 
   double t2 = Cpu();
   CTX::instance()->meshTimer[0] = t2 - t1;
-  Msg::Info("Mesh 1D complete (%g s)", CTX::instance()->meshTimer[0]);
-  Msg::StatusBar(1, false, "Mesh");
+  Msg::StatusBar(2, false, "Done meshing 1D (%g s)", CTX::instance()->meshTimer[0]);
 }
 
 static void PrintMesh2dStatistics(GModel *m)
@@ -425,7 +424,7 @@ static void PrintMesh2dStatistics(GModel *m)
 static void Mesh2D(GModel *m)
 {
   if(TooManyElements(m, 2)) return;
-  Msg::StatusBar(1, true, "Meshing 2D...");
+  Msg::StatusBar(2, true, "Meshing 2D...");
   double t1 = Cpu();
 
   for(GModel::fiter it = m->firstFace(); it != m->lastFace(); ++it)
@@ -487,8 +486,7 @@ static void Mesh2D(GModel *m)
 
   double t2 = Cpu();
   CTX::instance()->meshTimer[1] = t2 - t1;
-  Msg::Info("Mesh 2D complete (%g s)", CTX::instance()->meshTimer[1]);
-  Msg::StatusBar(1, false, "Mesh");
+  Msg::StatusBar(2, true, "Done meshing 2D (%g s)", CTX::instance()->meshTimer[1]);
 
   PrintMesh2dStatistics(m);
 }
@@ -503,7 +501,7 @@ static void FindConnectedRegions(std::vector<GRegion*> &delaunay,
 static void Mesh3D(GModel *m)
 {
   if(TooManyElements(m, 3)) return;
-  Msg::StatusBar(1, true, "Meshing 3D...");
+  Msg::StatusBar(2, true, "Meshing 3D...");
   double t1 = Cpu();
 
   // mesh the extruded volumes first
@@ -531,45 +529,41 @@ static void Mesh3D(GModel *m)
 
   double t2 = Cpu();
   CTX::instance()->meshTimer[2] = t2 - t1;
-  Msg::Info("Mesh 3D complete (%g s)", CTX::instance()->meshTimer[2]);
-  Msg::StatusBar(1, false, "Mesh");
+  Msg::StatusBar(2, true, "Done meshing 3D (%g s)", CTX::instance()->meshTimer[2]);
 }
 
 void OptimizeMeshNetgen(GModel *m)
 {
-  Msg::StatusBar(1, true, "Optimizing 3D with Netgen...");
+  Msg::StatusBar(2, true, "Optimizing 3D mesh with Netgen...");
   double t1 = Cpu();
 
   std::for_each(m->firstRegion(), m->lastRegion(), optimizeMeshGRegionNetgen());
 
   double t2 = Cpu();
-  Msg::Info("Mesh 3D optimization with Netgen complete (%g s)", t2 - t1);
-  Msg::StatusBar(1, false, "Mesh");
+  Msg::StatusBar(2, true, "Done optimizing 3D mesh with Netgen (%g s)", t2 - t1);
 }
 
 void OptimizeMesh(GModel *m)
 {
-  Msg::StatusBar(1, true, "Optimizing 3D...");
+  Msg::StatusBar(2, true, "Optimizing 3D mesh...");
   double t1 = Cpu();
 
   std::for_each(m->firstRegion(), m->lastRegion(), optimizeMeshGRegionGmsh());
 
   double t2 = Cpu();
-  Msg::Info("Mesh 3D optimization complete (%g s)", t2 - t1);
-  Msg::StatusBar(1, false, "Mesh");
+  Msg::StatusBar(2, true, "Done optimizing 3D mesh (%g s)", t2 - t1);
 }
 
 void AdaptMesh(GModel *m)
 {
-  Msg::StatusBar(1, true, "Adapting 3D Mesh...");
+  Msg::StatusBar(2, true, "Adapting 3D mesh...");
   double t1 = Cpu();
 
   for(int i = 0; i < 10; i++)
     std::for_each(m->firstRegion(), m->lastRegion(), adaptMeshGRegion());
 
   double t2 = Cpu();
-  Msg::Info("Mesh Adaptation complete (%g s)", t2 - t1);
-  Msg::StatusBar(1, false, "Mesh");
+  Msg::StatusBar(2, true, "Done adaptating 3D mesh (%g s)", t2 - t1);
 }
 
 void GenerateMesh(GModel *m, int ask)
diff --git a/Mesh/HighOrder.cpp b/Mesh/HighOrder.cpp
index b6c5c828520cffa8dd9bca9d1133ab887604c22a..a11aa2ebe55a009558e4432b995c8f34cab0751f 100644
--- a/Mesh/HighOrder.cpp
+++ b/Mesh/HighOrder.cpp
@@ -1067,7 +1067,7 @@ void SetOrderN(GModel *m, int order, bool linear, bool incomplete)
 
   int nPts = order - 1;
 
-  Msg::StatusBar(1, true, "Meshing order %d...", order);
+  Msg::StatusBar(2, true, "Meshing order %d...", order);
   double t1 = Cpu();
 
   // first, make sure to remove any existsing second order vertices/elements
@@ -1084,17 +1084,15 @@ void SetOrderN(GModel *m, int order, bool linear, bool incomplete)
   edgeContainer edgeVertices;
   faceContainer faceVertices;
   
-  Msg::StatusBar(1, true, "Meshing edges order %d...", order);
+  Msg::StatusBar(2, true, "Meshing curves order %d...", order);
   for(GModel::eiter it = m->firstEdge(); it != m->lastEdge(); ++it)
     setHighOrder(*it, edgeVertices, linear, nPts, displ2D, displ3D);
 
-  Msg::StatusBar(1, true, "Meshing faces %d...", order);
+  Msg::StatusBar(2, true, "Meshing surfaces order %d...", order);
   for(GModel::fiter it = m->firstFace(); it != m->lastFace(); ++it)
     setHighOrder(*it, edgeVertices, faceVertices, linear, incomplete, nPts,
                  displ2D, displ3D);
 
-  Msg::StatusBar(1, true, "Done meshing order %d", order);
-  
   // now we smooth mesh the internal vertices of the faces
   // we do that model face by model face
   std::vector<MElement*> bad;
@@ -1106,6 +1104,7 @@ void SetOrderN(GModel *m, int order, bool linear, bool incomplete)
     checkHighOrderTriangles("After optimization", m, bad, worst);
   }
 
+  Msg::StatusBar(2, true, "Meshing volumes order %d...", order);
   for(GModel::riter it = m->firstRegion(); it != m->lastRegion(); ++it)
     setHighOrder(*it, edgeVertices, faceVertices, linear, incomplete, nPts,
                  displ2D, displ3D);
@@ -1124,6 +1123,5 @@ void SetOrderN(GModel *m, int order, bool linear, bool incomplete)
   //  printJacobians(m, "smoothness.pos");
   
   double t2 = Cpu();
-  Msg::Info("Meshing order %d complete (%g s)", order, t2 - t1);
-  Msg::StatusBar(1, false, "Mesh");
+  Msg::StatusBar(2, true, "Done meshing order %d (%g s)", order, t2 - t1);
 }
diff --git a/Mesh/meshPartition.cpp b/Mesh/meshPartition.cpp
index 2cec0fb4d03451f899047e749bfe78407f86f26d..e73763fa95a49b2355d77383025f19232331c40a 100644
--- a/Mesh/meshPartition.cpp
+++ b/Mesh/meshPartition.cpp
@@ -114,20 +114,17 @@ void MakeGraphDIM(const EntIter begin, const EntIter end,
 
 
 
-int RenumberMesh(GModel *const model, meshPartitionOptions &options, std::vector<MElement*> &numbered)
+int RenumberMesh(GModel *const model, meshPartitionOptions &options, 
+                 std::vector<MElement*> &numbered)
 {
-
   Graph graph;
   BoElemGrVec boElemGrVec;
   int ier;
-  Msg::StatusBar(1, true, "Building graph...");
+  Msg::StatusBar(2, true, "Building graph...");
   ier = MakeGraph(model, graph, options, &boElemGrVec);
-  Msg::StatusBar(1, true, "Renumbering graph...");
+  Msg::StatusBar(2, true, "Renumbering graph...");
   if(!ier) ier = RenumberGraph(graph, options);
-  if(ier) {
-    Msg::StatusBar(1, false, "Mesh");
-    return 1;
-  }
+  if(ier) return 1;
 
   // create the numbering
   numbered.clear();
@@ -137,8 +134,7 @@ int RenumberMesh(GModel *const model, meshPartitionOptions &options, std::vector
     numbered[graph.partition[i]-1] = graph.element[i];
   }
 
-  Msg::Info("Renumbering complete");
-  Msg::StatusBar(1, false, "Mesh");
+  Msg::StatusBar(2, true, "Done renumbering graph");
   return 0;
 }
 
@@ -262,14 +258,11 @@ int PartitionMesh(GModel *const model, meshPartitionOptions &options)
   Graph graph;
   BoElemGrVec boElemGrVec;
   int ier;
-  Msg::StatusBar(1, true, "Building graph...");
+  Msg::StatusBar(2, true, "Building graph...");
   ier = MakeGraph(model, graph, options, &boElemGrVec);
-  Msg::StatusBar(1, true, "Partitioning graph...");
+  Msg::StatusBar(2, true, "Partitioning graph...");
   if(!ier) ier = PartitionGraph(graph, options);
-  if(ier) {
-    Msg::StatusBar(1, false, "Mesh");
-    return 1;
-  }
+  if(ier) return 1;
     
   // Count partition sizes and assign partitions to internal elements
   std::vector<int> ssize(options.num_partitions, 0);
@@ -345,8 +338,7 @@ int PartitionMesh(GModel *const model, meshPartitionOptions &options)
   if (options.createPartitionBoundaries || options.createGhostCells)
     CreatePartitionBoundaries (model, options.createGhostCells);
 
-  Msg::Info("Partitioning complete");
-  Msg::StatusBar(1, false, "Mesh");
+  Msg::StatusBar(2, true, "Done partitioning graph");
   return 0;
 }
 
diff --git a/Mesh/meshRefine.cpp b/Mesh/meshRefine.cpp
index d9b21c12aa4fbf1bfa2285048c512abaedf104cd..c2e526392b43ca26891757af1834e5728372b444 100644
--- a/Mesh/meshRefine.cpp
+++ b/Mesh/meshRefine.cpp
@@ -361,7 +361,7 @@ static void Subdivide(GRegion *gr, bool splitIntoHexas, faceContainer &faceVerti
 
 void RefineMesh(GModel *m, bool linear, bool splitIntoQuads, bool splitIntoHexas)
 {
-  Msg::StatusBar(1, true, "Refining mesh...");
+  Msg::StatusBar(2, true, "Refining mesh...");
   double t1 = Cpu();
         
   // Create 2nd order mesh (using "2nd order complete" elements) to
@@ -381,6 +381,5 @@ void RefineMesh(GModel *m, bool linear, bool splitIntoQuads, bool splitIntoHexas
     Subdivide(*it, splitIntoHexas, faceVertices);
 
   double t2 = Cpu();
-  Msg::Info("Mesh refinement complete (%g s)", t2 - t1);
-  Msg::StatusBar(1, false, "Mesh");
+  Msg::StatusBar(2, true, "Done refining mesh (%g s)", t2 - t1);
 }