diff --git a/src/Streaming/Binary.hs b/src/Streaming/Binary.hs
--- a/src/Streaming/Binary.hs
+++ b/src/Streaming/Binary.hs
@@ -74,7 +74,7 @@
             go (total + nconsumed) decoder0 (Q.chunk bs >> p')
     go !total (Binary.Done leftover nconsumed x) p = do
         S.yield x
-        go (total + nconsumed) decoder0 (Q.chunk leftover >> p)
+        go (total + nconsumed) (decoder0 `Binary.pushChunk` leftover) p
     go !total (Binary.Partial k) p = do
       lift (Q.nextChunk p) >>= \case
         Left res -> go total (k Nothing) (return res)
diff --git a/streaming-binary.cabal b/streaming-binary.cabal
--- a/streaming-binary.cabal
+++ b/streaming-binary.cabal
@@ -1,5 +1,5 @@
 name: streaming-binary
-version: 0.2.1.0
+version: 0.2.2.0
 synopsis: Streaming interface to binary.
 homepage: https://github.com/mboes/streaming-binary#readme
 license: BSD3
