diff --git a/cdist/config.py b/cdist/config.py
index f3faa03a..655153be 100644
--- a/cdist/config.py
+++ b/cdist/config.py
@@ -320,13 +320,16 @@ class Config(object):
                 # objects_changed = True
                 cargo.append(cdist_object)
 
-        if cargo:
+        if len(cargo) == 1:
+            self.object_prepare(cargo[0])
+            objects_changed = True
+        elif cargo:
             with concurrent.futures.ProcessPoolExecutor(self.jobs) as executor:
                 for x in executor.map(self.object_prepare, cargo):
                     pass  # returns None
             objects_changed = True
 
-        cargo.clear()
+        del cargo[:]
         for cdist_object in self.object_list():
             if cdist_object.requirements_unfinished(cdist_object.requirements):
                 """We cannot do anything for this poor object"""
@@ -344,7 +347,10 @@ class Config(object):
                 # objects_changed = True
                 cargo.append(cdist_object)
 
-        if cargo:
+        if len(cargo) == 1:
+            self.object_run(cargo[0])
+            objects_changed = True
+        elif cargo:
             with concurrent.futures.ProcessPoolExecutor(self.jobs) as executor:
                 for x in executor.map(self.object_run, cargo):
                     pass  # returns None