diff --git a/hw-streams.cabal b/hw-streams.cabal
--- a/hw-streams.cabal
+++ b/hw-streams.cabal
@@ -3,7 +3,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           hw-streams
-version:        0.0.0.6
+version:        0.0.0.7
 synopsis:       Primitive functions and data types
 description:    Primitive functions and data types.
 category:       Data
diff --git a/src/HaskellWorks/Data/Streams/Stream.hs b/src/HaskellWorks/Data/Streams/Stream.hs
--- a/src/HaskellWorks/Data/Streams/Stream.hs
+++ b/src/HaskellWorks/Data/Streams/Stream.hs
@@ -52,7 +52,7 @@
           Skip ta0     -> Skip (ta0, tb, Nothing, oldState)
           Done         -> Done
         step (ta, tb, Just xa, oldState) = case stepb tb of
-          Yield y tb0 -> let (newValue, newState) = f xa y state in Yield newValue (ta, tb0, Nothing, newState)
+          Yield y tb0 -> let (newValue, newState) = f xa y oldState in Yield newValue (ta, tb0, Nothing, newState)
           Skip tb0    -> Skip (ta, tb0, Just xa, oldState)
           Done        -> Done
         {-# INLINE [0] step #-}
@@ -135,3 +135,4 @@
             Done      -> Done
           Just w -> Yield w (s, Nothing)
 {-# INLINE dupMap #-}
+
