diff --git a/circle/storage/tasks/local_tasks.py b/circle/storage/tasks/local_tasks.py
index 26a48fb..7a0b25d 100644
--- a/circle/storage/tasks/local_tasks.py
+++ b/circle/storage/tasks/local_tasks.py
@@ -10,15 +10,13 @@ def check_queue(storage, queue_id):
     drivers = ['storage', 'download']
     worker_list = [storage + "." + d for d in drivers]
     queue_name = storage + "." + queue_id
-    # v is List of List of queues dict
     active_queues = celery.control.inspect(worker_list).active_queues()
-    if active_queues is not None:
-        node_workers = [v for k, v in active_queues.iteritems()]
-        for worker in node_workers:
-            for queue in worker:
-                if queue['name'] == queue_name:
-                    return True
-    return False
+    if active_queues is None:
+        return False
+
+    queue_names = (queue['name'] for worker in active_queues.itervalues()
+                   for queue in worker)
+    return queue_name in queue_names
 
 
 @celery.task