diff --git a/Network/Connection.hs b/Network/Connection.hs
--- a/Network/Connection.hs
+++ b/Network/Connection.hs
@@ -368,9 +368,11 @@
 -- | Close a connection.
 connectionClose :: Connection -> IO ()
 connectionClose = withBackend backendClose
-    where backendClose (ConnectionTLS ctx)  = TLS.bye ctx >> TLS.contextClose ctx
+    where backendClose (ConnectionTLS ctx)  = ignoreIOExc (TLS.bye ctx) `E.finally` TLS.contextClose ctx
           backendClose (ConnectionSocket sock) = N.close sock
           backendClose (ConnectionStream h) = hClose h
+
+          ignoreIOExc action = action `E.catch` \(_ :: E.IOException) -> return ()
 
 -- | Activate secure layer using the parameters specified.
 --
diff --git a/connection.cabal b/connection.cabal
--- a/connection.cabal
+++ b/connection.cabal
@@ -1,5 +1,5 @@
 Name:                connection
-Version:             0.2.7
+Version:             0.2.8
 Description:
     Simple network library for all your connection need.
     .
