diff --git a/hxt-binary.cabal b/hxt-binary.cabal
--- a/hxt-binary.cabal
+++ b/hxt-binary.cabal
@@ -1,5 +1,5 @@
 name: hxt-binary
-version: 0.0.1
+version: 0.0.2
 license: OtherLicense
 license-file: LICENCE
 maintainer: Uwe Schmidt <uwe@fh-wedel.de>
@@ -9,7 +9,7 @@
 description: Extension for storing and loading already parsed XML documents in an internal format.
  Serialisation and Deserialisation is done with the binary package.
 homepage: http://www.fh-wedel.de/~si/HXmlToolbox/index.html
-copyright: Copyright (c) 2009 Uwe Schmidt
+copyright: Copyright (c) 2010 Uwe Schmidt
 build-type: Simple
 cabal-version: >=1.6
 
@@ -32,4 +32,5 @@
                 bytestring >= 0.9 && < 1,
                 binary     >= 0.5 && < 1,
                 bzlib      >= 0.5 && < 1,
-                hxt        >= 8.2 && < 9
+                deepseq    >= 1.1 && < 2,
+                hxt        >= 8.5 && < 9
diff --git a/src/Text/XML/HXT/Arrow/Binary.hs b/src/Text/XML/HXT/Arrow/Binary.hs
--- a/src/Text/XML/HXT/Arrow/Binary.hs
+++ b/src/Text/XML/HXT/Arrow/Binary.hs
@@ -20,6 +20,7 @@
     )
 where
 
+import           Control.DeepSeq
 import 		 Control.Exception	( SomeException
 					, try
 					)
@@ -36,8 +37,11 @@
 -- | Read a serialied value from a file. The the flag indicates uncompressing.
 -- In case of an error, the error message is issued and the arrow fails
 
-readBinaryValue 	:: (Binary a) => Bool -> String -> IOStateArrow s b a
-readBinaryValue c f	= arrIO (\ _ -> try' $ dec c)
+readBinaryValue 	:: (NFData a, Binary a) => Bool -> String -> IOStateArrow s b a
+readBinaryValue c f	= arrIO0 (try' $ do
+                                         r <- dec c
+                                         rnf r `seq` return r
+                                 )
 			  >>>
 			  issueExc "readBinaryValue"
     where
