diff --git a/Data/Attoparsec/Enumerator.hs b/Data/Attoparsec/Enumerator.hs
--- a/Data/Attoparsec/Enumerator.hs
+++ b/Data/Attoparsec/Enumerator.hs
@@ -29,13 +29,17 @@
 iterParser p = E.continue (step (A.parse p)) where
 	step parse (E.Chunks xs) = parseLoop parse xs
 	step parse E.EOF = case parse B.empty of
-		A.Done extra a -> E.yield a (E.Chunks [extra])
-		A.Partial _ -> error "iterParser: divergent parser"
+		A.Done extra a -> E.yield a $ if B.null extra
+			then E.Chunks []
+			else E.Chunks [extra]
+		A.Partial _ -> err [] "iterParser: divergent parser"
 		A.Fail _ ctx msg -> err ctx msg
 	
 	parseLoop parse [] = E.continue (step parse)
 	parseLoop parse (x:xs) = case parse x of
-		A.Done extra a -> E.yield a (E.Chunks (extra:xs))
+		A.Done extra a -> E.yield a $ if B.null extra
+			then E.Chunks xs
+			else E.Chunks (extra:xs)
 		A.Partial parse' -> parseLoop parse' xs
 		A.Fail _ ctx msg -> err ctx msg
 	
diff --git a/attoparsec-enumerator.cabal b/attoparsec-enumerator.cabal
--- a/attoparsec-enumerator.cabal
+++ b/attoparsec-enumerator.cabal
@@ -1,5 +1,5 @@
 name: attoparsec-enumerator
-version: 0.1.0.2
+version: 0.1.0.3
 synopsis: Convert an Attoparsec parser into an iteratee
 license: MIT
 license-file: license.txt
@@ -8,7 +8,7 @@
 copyright: Copyright (c) John Millikin 2010
 build-type: Simple
 cabal-version: >=1.6
-category: Text, Parsing
+category: Text, Parsing, Enumerator
 stability: experimental
 bug-reports: mailto:jmillikin@gmail.com
 tested-with: GHC==6.12.1
