diff --git a/coolamqp/clustering/cluster.py b/coolamqp/clustering/cluster.py
index 63cc8ffd88632ed48c36e7247ec6b8ab9e045756..df63401f86bf71f60d2091986dc596c46d12fbd6 100644
--- a/coolamqp/clustering/cluster.py
+++ b/coolamqp/clustering/cluster.py
@@ -147,7 +147,7 @@ class Cluster(object):
         """
         logger.info('Commencing shutdown')
 
-        self.snr.shutdown()
+#        self.snr.shutdown()
         self.listener.terminate()
         if wait:
             self.listener.join()
diff --git a/coolamqp/uplink/listener/epoll_listener.py b/coolamqp/uplink/listener/epoll_listener.py
index b5d3e1cf37d06d28f2887318c6e804af642ce5ef..fa67e0bee10d96bb4ec46b778c974fc23ee64bd7 100644
--- a/coolamqp/uplink/listener/epoll_listener.py
+++ b/coolamqp/uplink/listener/epoll_listener.py
@@ -113,7 +113,7 @@ class EpollListener(object):
         This object is unusable after this call.
         """
         self.time_events = []
-        for sock in six.itervalues(self.fd_to_sock):
+        for sock in list(six.itervalues(self.fd_to_sock)):
             sock.on_fail()
             sock.close()
 
diff --git a/coolamqp/uplink/listener/thread.py b/coolamqp/uplink/listener/thread.py
index 40abd2449db5201e4e5b5b3e3fa26b1db94689b7..6e5d2dce995a97545852fe6fd087ba381d5acc38 100644
--- a/coolamqp/uplink/listener/thread.py
+++ b/coolamqp/uplink/listener/thread.py
@@ -14,7 +14,7 @@ class ListenerThread(threading.Thread):
     """
 
     def __init__(self):
-        threading.Thread.__init__(self)
+        threading.Thread.__init__(self, name='coolamqp/ListenerThread')
         self.daemon = True
         self.terminating = False
         self.listener = EpollListener()