diff --git a/beat/web/backend/models.py b/beat/web/backend/models.py
index 43abb9b55e7b1b681b937cde01c2260e7bc4adf9..de1b55021956f4cfd9dcbd18ce6293ca8678ff88 100644
--- a/beat/web/backend/models.py
+++ b/beat/web/backend/models.py
@@ -171,8 +171,12 @@ def _cleanup_zombies():
     '''Cleans-up eventual zombie subprocesses launched by the worker'''
 
     for child in psutil.Process().children(recursive=True):
-        if child.status() == psutil.STATUS_ZOMBIE:
-            child.wait()
+        try:
+            if child.status() == psutil.STATUS_ZOMBIE:
+                child.wait()
+        except psutil.NoSuchProcess:
+            # process is gone meanwhile, which is ok
+            pass
 
 
 class WorkerManager(models.Manager):