diff --git a/Fltk/onelabGroup.cpp b/Fltk/onelabGroup.cpp
index bf9c56fca39ccbf138931d6597dc7a31b96d7b9b..638f5b0f2bcbb69e3b262e1481e17e8f58559424 100644
--- a/Fltk/onelabGroup.cpp
+++ b/Fltk/onelabGroup.cpp
@@ -1241,19 +1241,24 @@ void onelabGroup::checkForErrors(const std::string &client)
 
 void onelabGroup::setButtonVisibility()
 {
-  if(!CTX::instance()->solver.autoCheck)
-    _butt[0]->show();
-  else
-    _butt[0]->hide();
-
   std::vector<onelab::number> numbers;
   onelab::server::instance()->get(numbers);
-
-  if(onelab::server::instance()->getNumClients() > 1 || numbers.size())
+  bool showRun = onelab::server::instance()->getNumClients() > 1 || numbers.size();
+  if(CTX::instance()->solver.autoCheck){
+    _butt[0]->hide();
+    if(showRun)
+      _butt[1]->show();
+    else
+      _butt[1]->hide();
+  }
+  else if(showRun){
+    _butt[0]->show();
     _butt[1]->show();
-  else
+  }
+  else{
+    _butt[0]->hide();
     _butt[1]->hide();
-
+  }
   redraw();
 }