diff --git a/common/network/Socket.h b/common/network/Socket.h
index 13b12d1..53f957e 100644
--- a/common/network/Socket.h
+++ b/common/network/Socket.h
@@ -21,6 +21,8 @@
 #ifndef __NETWORK_SOCKET_H__
 #define __NETWORK_SOCKET_H__
 
+#include <list>
+
 #include <limits.h>
 #include <rdr/FdInStream.h>
 #include <rdr/FdOutStream.h>
@@ -125,6 +127,10 @@
     //   resources to be freed.
     virtual void removeSocket(network::Socket* sock) = 0;
 
+    // getSockets() gets a list of sockets.  This can be used to generate an
+    //   fd_set for calling select().
+    virtual void getSockets(std::list<network::Socket*>* sockets) = 0;
+
     // processSocketReadEvent() tells the server there is a Socket read event.
     //   The implementation can indicate that the Socket is no longer active
     //   by calling shutdown() on it.  The caller will then call removeSocket()
diff --git a/common/rfb/HTTPServer.h b/common/rfb/HTTPServer.h
index d7ca69a..04ef499 100644
--- a/common/rfb/HTTPServer.h
+++ b/common/rfb/HTTPServer.h
@@ -26,8 +26,6 @@
 #ifndef __RFB_HTTP_SERVER_H__
 #define __RFB_HTTP_SERVER_H__
 
-#include <list>
-
 #include <rdr/MemInStream.h>
 #include <rfb/UpdateTracker.h>
 #include <rfb/Configuration.h>
@@ -58,6 +56,10 @@
     //   Could clean up socket-specific resources here.
     virtual void removeSocket(network::Socket* sock);
 
+    // getSockets() gets a list of sockets.  This can be used to generate an
+    // fd_set for calling select().
+    virtual void getSockets(std::list<network::Socket*>* sockets);
+
     // processSocketReadEvent()
     //   The platform-specific side of the server implementation calls
     //   this method whenever data arrives on one of the active
@@ -73,12 +75,6 @@
     virtual int checkTimeouts();
 
 
-    // getSockets() gets a list of sockets.  This can be used to generate an
-    // fd_set for calling select().
-
-    virtual void getSockets(std::list<network::Socket*>* sockets);
-
-
     // -=- File interface
 
     // - getFile is passed the path portion of a URL and returns an
diff --git a/common/rfb/VNCServerST.h b/common/rfb/VNCServerST.h
index bd84c45..0ced12a 100644
--- a/common/rfb/VNCServerST.h
+++ b/common/rfb/VNCServerST.h
@@ -25,8 +25,6 @@
 
 #include <sys/time.h>
 
-#include <list>
-
 #include <rfb/SDesktop.h>
 #include <rfb/VNCServer.h>
 #include <rfb/Configuration.h>
@@ -67,6 +65,10 @@
     //   Clean up any resources associated with the Socket
     virtual void removeSocket(network::Socket* sock);
 
+    // getSockets() gets a list of sockets.  This can be used to generate an
+    // fd_set for calling select().
+    virtual void getSockets(std::list<network::Socket*>* sockets);
+
     // processSocketReadEvent
     //   Read more RFB data from the Socket.  If an error occurs during
     //   processing then shutdown() is called on the Socket, causing
@@ -111,11 +113,6 @@
     // any), and logs the specified reason for closure.
     void closeClients(const char* reason, network::Socket* sock);
 
-    // getSockets() gets a list of sockets.  This can be used to generate an
-    // fd_set for calling select().
-
-    void getSockets(std::list<network::Socket*>* sockets);
-
     // getSConnection() gets the SConnection for a particular Socket.  If
     // the Socket is not recognised then null is returned.
 
