diff --git a/simple-pipe.cabal b/simple-pipe.cabal
--- a/simple-pipe.cabal
+++ b/simple-pipe.cabal
@@ -2,7 +2,7 @@
 cabal-version:	>= 1.8
 
 name:		simple-pipe
-version:	0.0.0.14
+version:	0.0.0.15
 stability:	Experimental
 author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp>
 maintainer:	Yoshikuni Jujo <PAF01143@nifty.ne.jp>
@@ -80,7 +80,7 @@
 source-repository	this
     type:	git
     location:	git://github.com/YoshikuniJujo/simple-pipe.git
-    tag:	simple-pipe-0.0.0.14
+    tag:	simple-pipe-0.0.0.15
 
 library
     hs-source-dirs:	src
diff --git a/src/Data/Pipe.hs b/src/Data/Pipe.hs
--- a/src/Data/Pipe.hs
+++ b/src/Data/Pipe.hs
@@ -65,7 +65,7 @@
 	appLeft (Ready f o p) = Ready f (Left o) $ appLeft p
 	appLeft (Need f p) = Need f $ \mei -> case mei of
 		Just (Left i) -> appLeft . p $ Just i
-		Just (Right i) -> yield (Right i) >> appLeft (p Nothing)
+		Just (Right i) -> yield (Right i) >> appLeft (Need f p)
 		_ -> appLeft $ p Nothing
 	appLeft (Done f r) = Done f r
 	appLeft (Make f p) = Make f $ appLeft `liftM` p
