diff --git a/lib/http/__init__.py b/lib/http/__init__.py
index 7973b0fe14683eaf671faf3375c11249bc7e222e..dfb7a89626410c96e3c57b7ade7b85939706889b 100644
--- a/lib/http/__init__.py
+++ b/lib/http/__init__.py
@@ -387,7 +387,9 @@ def ShutdownConnection(poller, sock, close_timeout, write_timeout, msgreader,
   except HttpSocketTimeout:
     raise HttpError("Timeout while shutting down connection")
   except socket.error, err:
-    raise HttpError("Error while shutting down connection: %s" % err)
+    # Ignore ENOTCONN
+    if not (err.args and err.args[0] == errno.ENOTCONN):
+      raise HttpError("Error while shutting down connection: %s" % err)
 
 
 def Handshake(poller, sock, write_timeout):