diff --git a/polysoup.cabal b/polysoup.cabal
--- a/polysoup.cabal
+++ b/polysoup.cabal
@@ -1,5 +1,5 @@
 name:               polysoup
-version:            0.3.0
+version:            0.4.0
 synopsis:           Online XML parsing with polyparse and tagsoup
 description:
     The library provides combinators for lazy, incremental XML parsing.
diff --git a/src/Text/XML/PolySoup/Parser.hs b/src/Text/XML/PolySoup/Parser.hs
--- a/src/Text/XML/PolySoup/Parser.hs
+++ b/src/Text/XML/PolySoup/Parser.hs
@@ -73,7 +73,7 @@
 first (Q p) = P $ go [] where
     go acc (t:ts) = case p t of
         Just v  -> Just (v, reverse acc ++ ts)
-        Nothing -> go (t:ts) ts
+        Nothing -> go (t:acc) ts
     go _ [] = Nothing
 
 
