diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+- 0.9.1.0
+    * Don't use Network.ByteString.Lazy.sendAll on Windows
+
 - 0.9.0.1
     * Allow compilation with older bytestring versions
     * Bump text dependency
diff --git a/src/Network/WebSockets/Stream.hs b/src/Network/WebSockets/Stream.hs
--- a/src/Network/WebSockets/Stream.hs
+++ b/src/Network/WebSockets/Stream.hs
@@ -1,5 +1,6 @@
 --------------------------------------------------------------------------------
 -- | Lightweight abstraction over an input/output stream.
+{-# LANGUAGE CPP #-}
 module Network.WebSockets.Stream
     ( Stream
     , makeStream
@@ -21,7 +22,12 @@
                                                  writeIORef)
 import qualified Network.Socket                 as S
 import qualified Network.Socket.ByteString      as SB (recv)
+
+#if !defined(mingw32_HOST_OS)
 import qualified Network.Socket.ByteString.Lazy as SBL (sendAll)
+#else
+import qualified Network.Socket.ByteString      as SB (sendAll)
+#endif
 
 import           Network.WebSockets.Types
 
@@ -59,7 +65,12 @@
         return $ if B.null bs then Nothing else Just bs
 
     send Nothing   = return ()
-    send (Just bs) = SBL.sendAll socket bs
+    send (Just bs) =
+#if !defined(mingw32_HOST_OS)
+        SBL.sendAll socket bs
+#else
+        forM_ (BL.toChunks bs) (SB.sendAll socket)
+#endif
 
 
 --------------------------------------------------------------------------------
diff --git a/websockets.cabal b/websockets.cabal
--- a/websockets.cabal
+++ b/websockets.cabal
@@ -1,5 +1,5 @@
 Name:    websockets
-Version: 0.9.0.1
+Version: 0.9.1.0
 
 Synopsis:
   A sensible and clean way to write WebSocket-capable servers in Haskell.
