diff --git a/tsqa/endpoint.py b/tsqa/endpoint.py
index a2db090..993125b 100644
--- a/tsqa/endpoint.py
+++ b/tsqa/endpoint.py
@@ -119,6 +119,8 @@
         threading.Thread.__init__(self)
         # dict to store request data in
         self._tracked_requests = {}
+        # error in startup
+        self.error = None
 
         self.daemon = True
         self.port = port
@@ -221,11 +223,14 @@
         return 'http://127.0.0.1:{0}{1}'.format(self.address[1], path)
 
     def run(self):
-        self.server = make_server('',
-                                  self.port,
-                                  self.app.wsgi_app)
-        # mark the socket as SO_REUSEADDR
-        self.server.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
+        try:
+            self.server = make_server('',
+                                      self.port,
+                                      self.app.wsgi_app)
+            # mark the socket as SO_REUSEADDR
+            self.server.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
+        except Exception as e:
+            self.error = e
         # mark it as ready
         self.ready.set()
         # serve it
diff --git a/tsqa/test_cases.py b/tsqa/test_cases.py
index 3849d6a..b145df2 100644
--- a/tsqa/test_cases.py
+++ b/tsqa/test_cases.py
@@ -189,6 +189,8 @@
         cls.http_endpoint.start()
 
         cls.http_endpoint.ready.wait()
+        if cls.http_endpoint.error is not None:
+            raise unittest.SkipTest('Error starting DynamicHTTPEndpoint: {0}'.format(e))
 
         # Do this last, so we can get our stuff registered
         # call parent constructor
