diff --git a/Fltk/onelabWindow.cpp b/Fltk/onelabWindow.cpp
index 2f2f896edb8dc8d167f5162585c52de678e5ee16..dd8ab30a74e964b65d88fd1e4b2d3d18b8cd2497 100644
--- a/Fltk/onelabWindow.cpp
+++ b/Fltk/onelabWindow.cpp
@@ -941,12 +941,18 @@ void onelabWindow::rebuildSolverList()
       exes.push_back(opt_solver_executable(i, GMSH_GET, ""));
     }
   }
-  for(unsigned int i = 0; i < names.size(); i++){
-    onelab::server::citer it = onelab::server::instance()->findClient(names[i]);
-    if(it != onelab::server::instance()->lastClient())
-      it->second->setIndex(i);
-    opt_solver_name(i, GMSH_SET, names[i]);
-    opt_solver_executable(i, GMSH_SET, exes[i]);
+  for(int i = 0; i < 5; i++){
+    if(i < names.size()){
+      onelab::server::citer it = onelab::server::instance()->findClient(names[i]);
+      if(it != onelab::server::instance()->lastClient())
+        it->second->setIndex(i);
+      opt_solver_name(i, GMSH_SET, names[i]);
+      opt_solver_executable(i, GMSH_SET, exes[i]);
+    }
+    else{
+      opt_solver_name(i, GMSH_SET, "");
+      opt_solver_executable(i, GMSH_SET, "");
+    }
   }
   FlGui::instance()->menu->setContext(menu_solver, 0);
 }