diff --git a/Lib/test/test_asynchat.py b/Lib/test/test_asynchat.py
index 1778a5f..c743d6b 100644
--- a/Lib/test/test_asynchat.py
+++ b/Lib/test/test_asynchat.py
@@ -22,6 +22,9 @@
         self.event = event
         self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         self.port = support.bind_port(self.sock)
+        # This will be set if the client wants us to wait before echoing data
+        # back.
+        self.start_resend_event = None
 
     def run(self):
         self.sock.listen(1)
@@ -38,6 +41,9 @@
         # remove the SERVER_QUIT message
         self.buffer = self.buffer.replace(SERVER_QUIT, b'')
 
+        if self.start_resend_event:
+            self.start_resend_event.wait()
+
         # re-send entire set of collected data
         try:
             # this may fail on some tests, such as test_close_when_done, since
@@ -203,11 +209,18 @@
 
     def test_close_when_done(self):
         s, event = start_echo_server()
+        s.start_resend_event = threading.Event()
         c = echo_client(b'\n', s.port)
         c.push(b"hello world\nI'm not dead yet!\n")
         c.push(SERVER_QUIT)
         c.close_when_done()
         asyncore.loop(use_poll=self.usepoll, count=300, timeout=.01)
+
+        # Only allow the server to start echoing data back to the client after
+        # the client has closed its connection.  This prevents a race condition
+        # where the server echoes all of its data before we can check that it
+        # got any down below.
+        s.start_resend_event.set()
         s.join()
 
         self.assertEqual(c.contents, [])
