diff --git a/Data/Conduit/Attoparsec.hs b/Data/Conduit/Attoparsec.hs
--- a/Data/Conduit/Attoparsec.hs
+++ b/Data/Conduit/Attoparsec.hs
@@ -154,18 +154,18 @@
                 y = take' (length' c - length' lo) c
                 pos'' = addLinesCols y pos'
             unless (isNull lo) $ leftover lo
-            return (pos'', x)
+            pos'' `seq` return (pos'', x)
         go end c (A.Fail rest contexts msg) =
             let x = take' (length' c - length' rest) c
                 pos'
                     | end       = pos
                     | otherwise = addLinesCols prev pos
                 pos'' = addLinesCols x pos'
-             in lift $ monadThrow $ ParseError contexts msg pos''
+             in pos'' `seq` lift (monadThrow $ ParseError contexts msg pos'')
         go end c (A.Partial parser')
             | end       = lift $ monadThrow DivergentParser
             | otherwise =
-                sink c pos' parser'
+                pos' `seq` sink c pos' parser'
               where
                 pos' = addLinesCols prev pos
 
diff --git a/attoparsec-conduit.cabal b/attoparsec-conduit.cabal
--- a/attoparsec-conduit.cabal
+++ b/attoparsec-conduit.cabal
@@ -1,5 +1,5 @@
 Name:                attoparsec-conduit
-Version:             0.5.0.1
+Version:             0.5.0.2
 Synopsis:            Consume attoparsec parsers via conduit.
 Description:         Consume attoparsec parsers via conduit.
 License:             BSD3
