diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index ac5eef663e7df90598fa4839015e8b6e683f2fe4..35c1672fefb8d9ba1df0ed77139f89c521305817 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -40,6 +40,7 @@ import os
 import platform
 import random
 import re
+import socket
 import subprocess
 import sys
 import time
@@ -736,6 +737,10 @@ def _start_port_server(port_server_port):
         urllib2.urlopen('http://localhost:%d/get' % port_server_port,
                         timeout=1).read()
         break
+      except socket.timeout:
+        print "waiting for port_server"
+        time.sleep(0.5)
+        waits += 1
       except urllib2.URLError:
         print "waiting for port_server"
         time.sleep(0.5)