diff --git a/src/testdir/test_channel.py b/src/testdir/test_channel.py
index b0c3140..3ef0fde 100644
--- a/src/testdir/test_channel.py
+++ b/src/testdir/test_channel.py
@@ -19,12 +19,7 @@
     # Python 2
     import SocketServer as socketserver
 
-class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
-
-    def setup(self):
-        if self.server.address_family != socket.AF_UNIX:
-            self.request.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
-
+class TestingRequestHandler(socketserver.BaseRequestHandler):
     def handle(self):
         print("=== socket opened ===")
         while True:
@@ -240,6 +235,10 @@
                 elif decoded[0] < 0:
                     last_eval = decoded
 
+class ThreadedTCPRequestHandler(TestingRequestHandler):
+    def setup(self):
+        self.request.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
+
 class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
     pass
 
diff --git a/src/testdir/test_channel_unix.py b/src/testdir/test_channel_unix.py
index 4836e26..85e780a 100644
--- a/src/testdir/test_channel_unix.py
+++ b/src/testdir/test_channel_unix.py
@@ -6,7 +6,7 @@
 # This requires Python 2.6 or later.
 
 from __future__ import print_function
-from test_channel import ThreadedTCPServer, ThreadedTCPRequestHandler, \
+from test_channel import ThreadedTCPServer, TestingRequestHandler, \
     writePortInFile
 import socket
 import threading
@@ -18,11 +18,17 @@
     # Python 2
     FileNotFoundError = (IOError, OSError)
 
+if not hasattr(socket, "AF_UNIX"):
+    raise NotImplementedError("Unix sockets are not supported on this platform")
+
 class ThreadedUnixServer(ThreadedTCPServer):
     address_family = socket.AF_UNIX
 
+class ThreadedUnixRequestHandler(TestingRequestHandler):
+    pass
+
 def main(path):
-    server = ThreadedUnixServer(path, ThreadedTCPRequestHandler)
+    server = ThreadedUnixServer(path, ThreadedUnixRequestHandler)
 
     # Start a thread with the server.  That thread will then start a new thread
     # for each connection.
diff --git a/src/version.c b/src/version.c
index 6e9b1d4..5805264 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4690,
+/**/
     4689,
 /**/
     4688,
