diff --git a/cloudcontrol/node/jobs.py b/cloudcontrol/node/jobs.py
index ce959ba20fb5ca1bbf89fa9ea79dc24074d40db7..179865bc2f9f1e1d7d9defd83bee5f845f9104e9 100644
--- a/cloudcontrol/node/jobs.py
+++ b/cloudcontrol/node/jobs.py
@@ -24,6 +24,7 @@ import sys
 import traceback
 from threading import Thread, Event
 from StringIO import StringIO
+from itertools import count
 
 from cloudcontrol.node.exc import JobError
 from cloudcontrol.node.utils import num_to_sig, close_fds
@@ -37,13 +38,7 @@ class JobManager(object):
         """
         :param main_loop: :class:`MainLoop` instance
         """
-        def counter():
-            i = 0
-            while True:
-                yield i
-                i += 1
-
-        self.job_id = counter()
+        self.job_id = count()
         self.main = main_loop
         #: keep an index of all jobs
         self.jobs = {}