diff --git a/pika/asyncore_adapter.py b/pika/asyncore_adapter.py
index 3336aee3ea21435d761d294481aefa9ebd68b532_cGlrYS9hc3luY29yZV9hZGFwdGVyLnB5..f62523737dcdfb1e13c93983d2635059924b4472_cGlrYS9hc3luY29yZV9hZGFwdGVyLnB5 100644
--- a/pika/asyncore_adapter.py
+++ b/pika/asyncore_adapter.py
@@ -54,6 +54,7 @@
 from heapq import heappush, heappop
 from errno import EAGAIN
 import pika.connection
+from pika.exceptions import *
 
 class RabbitDispatcher(asyncore.dispatcher):
     def __init__(self, connection):
@@ -108,6 +109,9 @@
 
     def flush_outbound(self):
         while self.outbound_buffer:
+            if self.connection_close:
+                # The connection was closed while we weren't looking!
+                raise ConnectionClosed(self.connection_close)
             self.drain_events()
 
     def drain_events(self):