diff --git a/Network/Protocol/XMPP/Monad.hs b/Network/Protocol/XMPP/Monad.hs
--- a/Network/Protocol/XMPP/Monad.hs
+++ b/Network/Protocol/XMPP/Monad.hs
@@ -161,7 +161,8 @@
 		let nextEvents = do
 			-- TODO: read in larger increments
 			bytes <- liftTLS $ H.hGetBytes h 1
-			parsed <- liftIO $ X.parse p bytes False
+			let eof = B.length bytes == 0
+			parsed <- liftIO $ X.parse p bytes eof
 			case parsed of
 				Left err -> E.throwError $ TransportError err
 				Right events -> return events
diff --git a/network-protocol-xmpp.cabal b/network-protocol-xmpp.cabal
--- a/network-protocol-xmpp.cabal
+++ b/network-protocol-xmpp.cabal
@@ -1,5 +1,5 @@
 name: network-protocol-xmpp
-version: 0.3.2.3
+version: 0.3.2.4
 synopsis: Client->Server XMPP
 license: GPL-3
 license-file: License.txt
@@ -32,7 +32,7 @@
     , gnutls >= 0.1 && < 0.3
     , bytestring >= 0.9 && < 0.10
     , gsasl >= 0.3 && < 0.4
-    , network >= 2.2 && < 2.3
+    , network >= 2.2 && < 2.4
     , transformers >= 0.2 && < 0.3
     , monads-tf >= 0.1 && < 0.2
     , libxml-sax >= 0.6 && < 0.7
