diff --git a/tests/base.py b/tests/base.py
index a988e37..db73a8d 100755
--- a/tests/base.py
+++ b/tests/base.py
@@ -908,10 +908,13 @@
         reqs = []
         for oid in sorted(reqids):
             path = self.REQUEST_ROOT + '/' + oid
-            data, stat = self.client.get(path)
-            data = json.loads(data)
-            data['_oid'] = oid
-            reqs.append(data)
+            try:
+                data, stat = self.client.get(path)
+                data = json.loads(data)
+                data['_oid'] = oid
+                reqs.append(data)
+            except kazoo.exceptions.NoNodeError:
+                pass
         return reqs
 
     def getNodes(self):
