diff --git a/acid-state.cabal b/acid-state.cabal
--- a/acid-state.cabal
+++ b/acid-state.cabal
@@ -7,7 +7,7 @@
 -- The package version. See the Haskell package versioning policy
 -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
 -- standards guiding when and how versions should be incremented.
-Version:             0.6.4
+Version:             0.6.5
 
 -- A short (one-line) description of the package.
 Synopsis:            Add ACID guarantees to any serializable Haskell data structure.
diff --git a/src-unix/FileIO.hs b/src-unix/FileIO.hs
--- a/src-unix/FileIO.hs
+++ b/src-unix/FileIO.hs
@@ -10,7 +10,7 @@
                    )
 import Data.Word(Word8,Word32)
 import Foreign(Ptr)
-import Foreign.C(CInt)
+import Foreign.C(CInt(..))
 
 data FHandle = FHandle Fd
 
diff --git a/src/Data/Acid/Log.hs b/src/Data/Acid/Log.hs
--- a/src/Data/Acid/Log.hs
+++ b/src/Data/Acid/Log.hs
@@ -280,14 +280,14 @@
     = do logFiles <- findLogFiles identifier
          let sorted = reverse $ sort logFiles
              (_eventIds, files) = unzip sorted
-         archives <- mapM Lazy.readFile files
-         return $ worker archives
-    where worker [] = Nothing
-          worker (archive:archives)
-              = case Archive.readEntries archive of
-                  Done            -> worker archives
-                  Next entry next -> Just (decode' (lastEntry entry next))
-                  Fail msg        -> error msg
+         worker files
+    where worker [] = return Nothing
+          worker (logFile:logFiles)
+              = do archive <- Lazy.readFile logFile
+                   case Archive.readEntries archive of
+                     Done            -> worker logFiles
+                     Next entry next -> return $ Just (decode' (lastEntry entry next))
+                     Fail msg        -> error msg
           lastEntry entry Done   = entry
           lastEntry entry (Fail msg) = error msg
           lastEntry _ (Next entry next) = lastEntry entry next
