diff --git a/src/Network/WebSockets/Monad.hs b/src/Network/WebSockets/Monad.hs
--- a/src/Network/WebSockets/Monad.hs
+++ b/src/Network/WebSockets/Monad.hs
@@ -207,8 +207,10 @@
 -- connection is closed.
 sendSink :: Sink p -> Message p -> IO ()
 sendSink sink msg = modifyMVar_ (unSink sink) $ \iter -> do
-    step <- E.runIteratee $ E.catchError (singleton msg $$ iter) throw
-    return $ E.returnI step
+    step <- E.runIteratee $ singleton msg $$ iter
+    case step of
+        E.Error err -> throw err
+        _           -> return $! E.returnI step
 
 -- | In case the user of the library wants to do asynchronous sending to the
 -- socket, he can extract a 'Sink' and pass this value around, for example,
diff --git a/tests/haskell/TestSuite.hs b/tests/haskell/TestSuite.hs
new file mode 100644
--- /dev/null
+++ b/tests/haskell/TestSuite.hs
@@ -0,0 +1,12 @@
+import Test.Framework (defaultMain)
+
+import qualified Network.WebSockets.Tests
+import qualified Network.WebSockets.Handshake.Tests
+import qualified Network.WebSockets.Socket.Tests
+
+main :: IO ()
+main = defaultMain
+    [ Network.WebSockets.Tests.tests
+    , Network.WebSockets.Handshake.Tests.tests
+    , Network.WebSockets.Socket.Tests.tests
+    ]
diff --git a/websockets.cabal b/websockets.cabal
--- a/websockets.cabal
+++ b/websockets.cabal
@@ -1,5 +1,5 @@
 Name:    websockets
-Version: 0.6.0.0
+Version: 0.6.0.1
 
 Synopsis:
   A sensible and clean way to write WebSocket-capable servers in Haskell.
@@ -64,6 +64,38 @@
     Network.WebSockets.Types
 
   Build-depends:
+    attoparsec               >= 0.9    && < 0.11,
+    attoparsec-enumerator    >= 0.2    && < 0.4,
+    base                     >= 4      && < 5,
+    base64-bytestring        >= 0.1    && < 0.2,
+    binary                   >= 0.5    && < 0.6,
+    blaze-builder            >= 0.3    && < 0.4,
+    blaze-builder-enumerator >= 0.2    && < 0.3,
+    bytestring               >= 0.9    && < 0.10,
+    case-insensitive         >= 0.3    && < 0.5,
+    containers               >= 0.3    && < 0.5,
+    enumerator               >= 0.4.13 && < 0.5,
+    mtl                      >= 2.0    && < 2.2,
+    network                  >= 2.3    && < 2.4,
+    network-enumerator       >= 0.1    && < 0.2,
+    random                   >= 1.0    && < 1.1,
+    SHA                      >= 1.5    && < 1.6,
+    text                     >= 0.10   && < 0.12,
+    pureMD5                  >= 0.2.2  && < 2.2
+
+Test-suite websockets-tests
+  Type:           exitcode-stdio-1.0
+  Hs-source-dirs: src tests/haskell
+  Main-is:        TestSuite.hs
+  Ghc-options:    -Wall
+
+  Build-depends:
+    HUnit                      >= 1.2 && < 1.3,
+    QuickCheck                 >= 2.4 && < 2.5,
+    test-framework             >= 0.4 && < 0.7,
+    test-framework-hunit       >= 0.2 && < 0.3,
+    test-framework-quickcheck2 >= 0.2 && < 0.3,
+    -- Copied from regular dependencies...
     attoparsec               >= 0.9    && < 0.11,
     attoparsec-enumerator    >= 0.2    && < 0.4,
     base                     >= 4      && < 5,
