diff --git a/iteratee.cabal b/iteratee.cabal
--- a/iteratee.cabal
+++ b/iteratee.cabal
@@ -1,5 +1,5 @@
 name:          iteratee
-version:       0.8.1.0
+version:       0.8.1.1
 synopsis:      Iteratee-based I/O
 description:
   The Iteratee monad provides strict, safe, and functional I/O. In addition
diff --git a/src/Data/Iteratee/Iteratee.hs b/src/Data/Iteratee/Iteratee.hs
--- a/src/Data/Iteratee/Iteratee.hs
+++ b/src/Data/Iteratee/Iteratee.hs
@@ -130,6 +130,9 @@
 mapChunksM_ :: (Monad m, Nullable s) => (s -> m b) -> Iteratee s m ()
 mapChunksM_ f = liftI step
   where
+    step (Chunk xs)
+      | nullC xs = liftI step
+      | True     = lift (f xs) >> liftI step
     step (Chunk xs) = lift (f xs) >> liftI step
     step s@(EOF _)  = idone () s
 {-# INLINE mapChunksM_ #-}
diff --git a/src/Data/Iteratee/ListLike.hs b/src/Data/Iteratee/ListLike.hs
--- a/src/Data/Iteratee/ListLike.hs
+++ b/src/Data/Iteratee/ListLike.hs
@@ -266,7 +266,7 @@
 -- on all elements of the stream until the predicate is met.
 --
 -- the following rule relates @break@ to @breakE@
--- @break@ pred >> iter === @joinI@ (@breakE@ pred iter)
+-- @break@ pred === @joinI@ (@breakE@ pred stream2stream)
 --
 -- @breakE@ should be used in preference to @break@ whenever possible.
 breakE :: (Monad m, LL.ListLike s el, NullPoint s) => (el -> Bool) -> Enumeratee s s m a
