diff --git a/mercurial/wireprotov2peer.py b/mercurial/wireprotov2peer.py
index 25b7c4cb5de1593e16bbd7a7dafbd28baa743995_bWVyY3VyaWFsL3dpcmVwcm90b3YycGVlci5weQ==..94b0d0f996e11aece0d601201f074c5a9eb0e741_bWVyY3VyaWFsL3dpcmVwcm90b3YycGVlci5weQ== 100644
--- a/mercurial/wireprotov2peer.py
+++ b/mercurial/wireprotov2peer.py
@@ -458,7 +458,10 @@
         self._redirects.append((requestid, res))
 
     def _processredirect(self, rid, res):
-        """Called to continue processing a response from a redirect."""
+        """Called to continue processing a response from a redirect.
+
+        Returns a bool indicating if the redirect is still serviceable.
+        """
         response = self._responses[rid]
 
         try:
@@ -470,7 +473,7 @@
                 response._oninputcomplete()
 
             if rid not in self._futures:
-                return
+                return bool(data)
 
             if response.command not in COMMAND_DECODERS:
                 self._futures[rid].set_result(response.objects())