diff --git a/lbrynet/dht/iterativefind.py b/lbrynet/dht/iterativefind.py
index f1158d10d..acc896538 100644
--- a/lbrynet/dht/iterativefind.py
+++ b/lbrynet/dht/iterativefind.py
@@ -160,6 +160,9 @@ class _IterativeFind(object):
         already_contacted_addresses = {(c.address, c.port) for c in self.already_contacted}
         to_remove = []
         for contact in self.shortlist:
+            if self.node.contact_manager.is_ignored((contact.address, contact.port)):
+                to_remove.append(contact)  # a contact became bad during iteration
+                continue
             if (contact.address, contact.port) not in already_contacted_addresses:
                 self.already_contacted.append(contact)
                 to_remove.append(contact)