diff --git a/src/bitmessagecurses/__init__.py b/src/bitmessagecurses/__init__.py
index fe9a77d2..dc6e8a0c 100644
--- a/src/bitmessagecurses/__init__.py
+++ b/src/bitmessagecurses/__init__.py
@@ -31,6 +31,8 @@ from pyelliptic.openssl import OpenSSL
 import queues
 import shared
 import shutdown
+import network.stats
+
 
 quit = False
 menutab = 1
@@ -209,12 +211,16 @@ def drawtab(stdscr):
                     stdscr.addstr(6+i, 120, str(item[2]), a)
         elif menutab == 8: # Network status
             # Connection data
-            stdscr.addstr(4, 5, "Total Connections: "+str(len(shared.connectedHostsList)).ljust(2))
+            connected_hosts = network.stats.connectedHostsList()
+            stdscr.addstr(
+                4, 5, "Total Connections: " +
+                str(len(connected_hosts)).ljust(2)
+            )
             stdscr.addstr(6, 6, "Stream #", curses.A_BOLD)
             stdscr.addstr(6, 18, "Connections", curses.A_BOLD)
             stdscr.hline(7, 6, '-', 23)
             streamcount = []
-            for host, stream in shared.connectedHostsList.items():
+            for host, stream in connected_hosts:
                 if stream >= len(streamcount):
                     streamcount.append(1)
                 else:
@@ -776,7 +782,7 @@ def sendMessage(sender="", recv="", broadcast=None, subject="", body="", reply=F
                         set_background_title(d, "Recipient address error")
                         scrollbox(d, unicode("Bitmessage currently only supports stream numbers of 1, unlike as requested for address " + addr + "."))
                         continue
-                    if len(shared.connectedHostsList) == 0:
+                    if not network.stats.connectedHostsList():
                         set_background_title(d, "Not connected warning")
                         scrollbox(d, unicode("Because you are not currently connected to the network, "))
                     stealthLevel = BMConfigParser().safeGetInt('bitmessagesettings', 'ackstealthlevel')
diff --git a/src/network/bmproto.py b/src/network/bmproto.py
index bdebe0fb..26ab8908 100644
--- a/src/network/bmproto.py
+++ b/src/network/bmproto.py
@@ -431,7 +431,6 @@ class BMProto(AdvancedDispatcher, ObjectTracker):
         if not self.peerValidityChecks():
             # TODO ABORT
             return True
-        #shared.connectedHostsList[self.destination] = self.streams[0]
         self.append_write_buf(protocol.CreatePacket('verack'))
         self.verackSent = True
         if not self.isOutbound:
diff --git a/src/shared.py b/src/shared.py
index 76769a02..6a2980d9 100644
--- a/src/shared.py
+++ b/src/shared.py
@@ -50,10 +50,7 @@ myAddressesByTag = {}
 broadcastSendersForWhichImWatching = {}
 printLock = threading.Lock()
 statusIconColor = 'red'
-# List of hosts to which we are connected. Used to guarantee
-# that the outgoingSynSender threads won't connect to the same
-# remote node twice.
-connectedHostsList = {}
+
 thisapp = None  # singleton lock instance
 alreadyAttemptedConnectionsList = {
 }  # This is a list of nodes to which we have already attempted a connection