diff --git a/Fltk/menuWindow.cpp b/Fltk/menuWindow.cpp
index 5970d81012b3c8ca7b26807633bea6c22bd4b000..02491b0ee475cb1358aefbc809124f78556f5d4e 100644
--- a/Fltk/menuWindow.cpp
+++ b/Fltk/menuWindow.cpp
@@ -1595,7 +1595,11 @@ static void geometry_physical_add_cb(Fl_Widget *w, void *data)
 
 void mesh_save_cb(Fl_Widget *w, void *data)
 {
-  bool force = data ? true : false;
+  bool force_overwrite = false;
+  if(data){
+    std::string str((const char*)data);
+    if(str == "force_overwrite") force_overwrite = true;
+  }
 
   std::string name = CTX::instance()->outputFileName;
   if(name.empty()){
@@ -1604,7 +1608,7 @@ void mesh_save_cb(Fl_Widget *w, void *data)
     else
       name = GetDefaultFileName(CTX::instance()->mesh.fileFormat);
   }
-  if(!force && CTX::instance()->confirmOverwrite) {
+  if(!force_overwrite && CTX::instance()->confirmOverwrite) {
     if(!StatFile(name))
       if(!fl_choice("File '%s' already exists.\n\nDo you want to replace it?",
                     "Cancel", "Replace", 0, name.c_str()))
diff --git a/Fltk/onelabWindow.cpp b/Fltk/onelabWindow.cpp
index 8c671ca101381b57d53676b90b99c49b1545b953..b4ca70bc35e8dfebf6ab5e62c6e505ccd90e6f19 100644
--- a/Fltk/onelabWindow.cpp
+++ b/Fltk/onelabWindow.cpp
@@ -240,19 +240,20 @@ void onelab_cb(Fl_Widget *w, void *data)
 
   FlGui::instance()->onelab->deactivate();
   
-  // Gmsh client is special (always gets executed first). The
+  // the Gmsh client is special: it always gets executed first. (The
   // meta-model will allow more flexibility: but in the simple GUI we
-  // can assume this
+  // can assume this)
   if(onelab::server::instance()->findClient("Gmsh") != 
      onelab::server::instance()->lastClient()){
-    // reload geometry if Gmsh parameters have been modified
+    // reload geometry and/or mesh if Gmsh parameters have been modified
     if(onelab::server::instance()->getChanged("Gmsh")){
       if(action == "check"){
         geometry_reload_cb(0, 0);
       }
       else if(action == "compute"){
+        geometry_reload_cb(0, 0);
         mesh_3d_cb(0, 0);
-        mesh_save_cb(0, (void*)"force");
+        mesh_save_cb(0, (void*)"force_overwrite");
         onelab::server::instance()->setChanged(false, "Gmsh");
       }
     }