diff --git a/lbrynet/core/client/ClientProtocol.py b/lbrynet/core/client/ClientProtocol.py
index 2d9e3d0f5..f95162cf3 100644
--- a/lbrynet/core/client/ClientProtocol.py
+++ b/lbrynet/core/client/ClientProtocol.py
@@ -176,11 +176,12 @@ class ClientProtocol(Protocol):
 
     def _handle_response(self, response):
         ds = []
-        log.debug("Handling a response. Current expected responses: %s", self._response_deferreds)
+        log.debug(
+            "Handling a response from %s. Expected responses: %s. Actual responses: %s",
+            self.peer, self._response_deferreds.keys(), response.keys())
         for key, val in response.items():
             if key in self._response_deferreds:
-                d = self._response_deferreds[key]
-                del self._response_deferreds[key]
+                d = self._response_deferreds.pop(key)
                 d.callback({key: val})
                 ds.append(d)
         for k, d in self._response_deferreds.items():
@@ -194,6 +195,7 @@ class ClientProtocol(Protocol):
             d.addErrback(self._handle_response_error)
             ds.append(d)
 
+        # TODO: are we sure we want to consume errors here
         dl = defer.DeferredList(ds, consumeErrors=True)
 
         def get_next_request(results):