diff --git a/batchoar.py b/batchoar.py
index 6472f650fa45894d1996ce89d2ccc8b3e25b6d85..015fc00dc637357d324d53bdd6988e0485927fab 100644
--- a/batchoar.py
+++ b/batchoar.py
@@ -4,11 +4,11 @@
 import argparse
 import yaml
 import itertools
-import subprocess
 import logging
 from collections import deque
 
-from . import oargen
+import oargen
+
 
 def argparser():
     parser = argparse.ArgumentParser()
@@ -48,7 +48,6 @@ def argparser():
     return args
 
 
-
 def load_variables(yaml_variables):
     variable_names = []
     variables = []
@@ -123,6 +122,7 @@ def main():
         jobs = load_jobs(fin, args)
 
     anteriors = deque()
+    fake_id_counter = 0
     for job_name, job in jobs:
         if len(anteriors) < args.max_jobs:
             anterior = None
@@ -130,7 +130,7 @@ def main():
             anterior = anteriors.pop()
 
         oar_command = oargen.prepare_oarsub(args.gpu, args.host, args.core, args.time,
-                                            command=job, command_is_string=True,
+                                            command=job,
                                             name=job_name, besteffort=args.besteffort,
                                             checkpoint=args.checkpoint, anterior=anterior)
 
@@ -142,7 +142,12 @@ def main():
                 logging.warning("Job '{}' seems to have failed to launch...".format(job_name))
             else:
                 anteriors.appendleft(job_id)
-
+        elif args.run:
+            logging.warning("Job '{}' didn't return anything...".format(job_name))
+        else:
+            fake_id = f"FAKE_ID_{fake_id_counter}"
+            fake_id_counter += 1
+            anteriors.appendleft(fake_id)
 
 
 if __name__ == '__main__':
diff --git a/oargen.py b/oargen.py
index 368f46d0d201684e8ebb89c788eccd3190ee7e6a..dcc1d2ea542e58652334642959cbb414a3849993 100755
--- a/oargen.py
+++ b/oargen.py
@@ -43,8 +43,7 @@ def prepare_oarsub(gpu, host, core, time,
                    command=None, argument=None,
                    interactive=False,
                    name=None, besteffort=False,
-                   checkpoint=None, anterior=None,
-                   command_is_string=False):
+                   checkpoint=None, anterior=None):
     oar_cmd = ["oarsub"]
     oar_cmd.append("-p")
     properties = ""
@@ -85,12 +84,14 @@ def prepare_oarsub(gpu, host, core, time,
     if interactive:
         oar_cmd.append('-I')
     else:
-        job_command = command if command_is_string else " ".join(command)
-        oar_cmd.append(" ".join(job_command))
+        job_command = command if isinstance(command, str) else " ".join(command)
+        oar_cmd.append(job_command)
+    return oar_cmd
 
 
 def run_oarsub(command, print_cmd=False, fake_run=False, return_output=False):
-    print(subprocess.list2cmdline(command))
+    if print_cmd:
+        print(subprocess.list2cmdline(command))
     if fake_run:
         return None
     if not return_output: