diff --git a/src/Exscript/workqueue/Job.py b/src/Exscript/workqueue/Job.py
index <HASH>..<HASH> 100644
--- a/src/Exscript/workqueue/Job.py
+++ b/src/Exscript/workqueue/Job.py
@@ -42,12 +42,8 @@ class Job(threading.Thread):
                                 self.local_data)
         except Exception, e:
             self.exception = e
-            if self.debug:
-                name = self.action.name or 'no name'
-                print 'Job "%s" (%s) failed: %s' % (self.getName(), name, e)
-                traceback.print_exc()
-        if self.exception is not None:
-            self.action.signal_emit('aborted', self.action, e)
-        else:
-            self.action.signal_emit('succeeded', self.action)
+            self.action.signal_emit('aborted',   self.action, e)
+            self.action.signal_emit('completed', self.action)
+            raise
+        self.action.signal_emit('succeeded', self.action)
         self.action.signal_emit('completed', self.action)
Fix: error reporting when debug level is 0.