diff --git a/Fltk/onelabWindow.cpp b/Fltk/onelabWindow.cpp
index cb097d651a766fcfebcd187bbabb283467205123..5cd277d32b80a397ad3e4100e264458f1de6ba2e 100644
--- a/Fltk/onelabWindow.cpp
+++ b/Fltk/onelabWindow.cpp
@@ -603,12 +603,10 @@ void onelab_cb(Fl_Widget *w, void *data)
   std::string action((const char*)data);
 
   if(action == "refresh"){
-    static bool recurse = false;
-    if(recurse) return;
-    recurse = true;
+    FlGui::instance()->onelab->setButtonMode("", "stop");
     updateOnelabGraphs();
     FlGui::instance()->onelab->rebuildTree();
-    recurse = false;
+    FlGui::instance()->onelab->setButtonMode("refresh", "stop");
     return;
   }