diff --git a/contrib/onelab/python/onelab.py b/contrib/onelab/python/onelab.py
index 00c752f545a44314cdb411cd43d8a7a652aea1cb..dd72bbca997a2e26e601d22b84f23d8d61558225 100755
--- a/contrib/onelab/python/onelab.py
+++ b/contrib/onelab/python/onelab.py
@@ -323,13 +323,15 @@ class client :
       if t == self._GMSH_STOP :
         self.NumSubClients -= 1
 
-  def run(self, name, command, arguments):
-    if not self.socket :
-      return
+  def run(self, name, command, arguments=''):
+    # create command line
     if self.action == "check":
-      msg = [name, command]
+      cmd = command
     else:
-      msg = [name, command + ' ' + arguments]
+      cmd = command + ' ' + arguments
+    if not self.socket :
+      return os.system(cmd);
+    msg = [name, cmd]
     self._send(self._GMSH_CONNECT, '\0'.join(msg))
     self.NumSubClients +=1
     self._wait_on_subclients() # makes the subclient blocking