diff --git a/src/allmydata/test/test_system.py b/src/allmydata/test/test_system.py
index ec4452719..e563eae34 100644
--- a/src/allmydata/test/test_system.py
+++ b/src/allmydata/test/test_system.py
@@ -289,6 +289,11 @@ class SystemTest(testutil.SignalMixin, unittest.TestCase):
         d = old_client0.disownServiceParent()
         assert isinstance(d, defer.Deferred)
         d.addCallback(self.log, "STOPPED")
+        # I think windows requires a moment to let the connection really stop
+        # and the port number made available for re-use. TODO: examine the
+        # behavior, see if this is really the problem, see if we can do
+        # better than blindly waiting for a second.
+        d.addCallback(self.stall, 1.0)
         def _stopped(res):
             new_client0 = client.Client(basedir=self.getdir("client0"))
             self.add_service(new_client0)
@@ -310,6 +315,11 @@ class SystemTest(testutil.SignalMixin, unittest.TestCase):
         log.msg(msg)
         return res
 
+    def stall(self, res, delay=1.0):
+        d = defer.Deferred()
+        reactor.callLater(delay, d.callback, res)
+        return d
+
     def _do_publish_private(self, res):
         ut = upload.Data(self.data)
         vdrive0 = self.clients[0].getServiceNamed("vdrive")