diff --git a/authserv/test/test_integration.py b/authserv/test/test_integration.py
index d348484fed1330c279ae47e6f1947a2b72be0935..d799c2b2a982cee5cd03e9bbb96da06ba5741482 100644
--- a/authserv/test/test_integration.py
+++ b/authserv/test/test_integration.py
@@ -10,7 +10,6 @@ import urllib2
 from authserv.test import *
 from authserv.ratelimit import *
 from authserv import protocol
-from authserv import server
 from authserv import app_main
 
 URL = '/api/1/auth'
@@ -55,34 +54,34 @@ class SSLServerTest(unittest.TestCase):
     dhparams = _relpath('testca/dhparams')
 
     def setUp(self):
+        # set up the server in a separate process.
         self.users = {
             'user': FakeUser('user', 'pass'),
         }
-        app = server.create_app(app_main.app,
-                                userdb=FakeUserDb(self.users),
-                                mc=FakeMemcache(time.time))
-        app.config.update({
+
+        self.port = _free_port()
+        self.pid = os.fork()
+        if self.pid == 0:
+            from authserv import server
+            app = server.create_app(app_main.app,
+                                    userdb=FakeUserDb(self.users),
+                                    mc=FakeMemcache(time.time))
+            app.config.update({
                 'TESTING': True,
                 'DEBUG': True,
                 })
 
-        self.port = _free_port()
-        self._start_server(app)
+            server.run(
+                app, '127.0.0.1', self.port, self.ssl_ca,
+                self.ssl_cert, self.ssl_key, self.dhparams)
+        else:
+            time.sleep(1)
 
         self.opener = urllib2.build_opener(
             HTTPSClientAuthHandler(self.client_cert, self.client_key))
 
     def tearDown(self):
-        # os.kill(self.pid, 15)
-        pass
-
-    def _start_server(self, app):
-        """Run an SSL-enabled HTTP server as a separate process."""
-        gevent.spawn(
-            server.run,
-            app, '127.0.0.1', self.port, self.ssl_ca,
-            self.ssl_cert, self.ssl_key, self.dhparams)
-        time.sleep(1)
+        os.kill(self.pid, 15)
 
     def test_python_request_failure_without_cert(self):
         req = urllib2.Request('https://127.0.0.1:%d%s' % (self.port, URL),