diff --git a/driver/runtests.py b/driver/runtests.py
index ec1c04607708999c9c8ec3f77587452338c0f484..d06bc8ea8d956d9b6c926d8b3ebd536cd4af0f7d 100644
--- a/driver/runtests.py
+++ b/driver/runtests.py
@@ -10,6 +10,17 @@ import platform
 import time
 import re
 
+# We don't actually need subprocess in runtests.py, but:
+# * We do need it in testlibs.py
+# * We can't import testlibs.py until after we have imported ctypes
+# * If we import ctypes before subprocess on cygwin, then sys.exit(0)
+#   says "Aborted" and we fail with exit code 134.
+# So we import it here first, so that the testsuite doesn't appear to fail.
+try:
+    import subprocess
+except:
+    pass
+
 from testutil import *
 from testglobals import *