diff --git a/CEP/Pipeline/framework/lofarpipe/support/jobserver.py b/CEP/Pipeline/framework/lofarpipe/support/jobserver.py
index 1e2f724730f6a22f29d3aa68b62f343198aa8227..10182fe2890400b089992a7a9445cc810b374bd6 100644
--- a/CEP/Pipeline/framework/lofarpipe/support/jobserver.py
+++ b/CEP/Pipeline/framework/lofarpipe/support/jobserver.py
@@ -122,11 +122,13 @@ class JobSocketReceiver(SocketServer.ThreadingTCPServer):
         # until the queue is empty, thereby avoiding the problem of falling
         # out of the logger threads before all log messages have been handled.
         def loop_in_thread():
+            poller = select.poll()
+            poller.register(self.socket.fileno(), select.POLLIN)
+
             while True:
-                rd, wr, ex = select.select(
-                    [self.socket.fileno()], [], [], self.timeout
-                )
-                if rd:
+                events = poller.poll(self.timeout)
+
+                if events:
                     self.handle_request()
                 elif self.abort:
                     break