diff --git a/Fltk/onelabWindow.cpp b/Fltk/onelabWindow.cpp
index 58ae8ba2db70f983135170fce2f8a7d01d0f89af..ac80ac1e7b8328e4741726be989c9fe02c45f199 100644
--- a/Fltk/onelabWindow.cpp
+++ b/Fltk/onelabWindow.cpp
@@ -269,9 +269,10 @@ void onelab_cb(Fl_Widget *w, void *data)
       c->run(what);
     }
     else if(action == "compute"){
-      // FIXME we should define a string (invisible param) in the db
-      // that stores this information
-      if(c->getName() == "GetDP") what += " -solve -pos";
+      // get command line from the server
+      std::vector<onelab::string> ps;
+      onelab::server::instance()->get(ps, c->getName() + "/9Compute");
+      if(ps.size()) what += " " + ps[0].getValue();
       c->run(what);
     }
   }