diff --git a/iteratee.cabal b/iteratee.cabal
--- a/iteratee.cabal
+++ b/iteratee.cabal
@@ -1,5 +1,5 @@
 name:          iteratee
-version:       0.8.6.0
+version:       0.8.6.1
 synopsis:      Iteratee-based I/O
 description:
   The Iteratee monad provides strict, safe, and functional I/O. In addition
@@ -59,7 +59,6 @@
   build-depends:
     ListLike                  >= 1.0     && < 4,
     MonadCatchIO-transformers >  0.2     && < 0.3,
-    monad-control             >= 0.2     && < 0.3,
     bytestring                >= 0.9     && < 0.10,
     containers                >= 0.2     && < 0.5,
     parallel                  >= 2       && < 4,
diff --git a/src/Data/Iteratee/Base.hs b/src/Data/Iteratee/Base.hs
--- a/src/Data/Iteratee/Base.hs
+++ b/src/Data/Iteratee/Base.hs
@@ -36,18 +36,14 @@
 import Prelude hiding (null, catch)
 import Data.Iteratee.Base.LooseMap
 import Data.Iteratee.Exception
-import Data.Maybe
-import Data.Monoid
 import Data.Nullable
 import Data.NullPoint
+import Data.Monoid
 
-import Control.Monad (liftM)
 import Control.Monad.IO.Class
-import Control.Monad.IO.Control
 import Control.Monad.Trans.Class
 import Control.Monad.CatchIO (MonadCatchIO (..), Exception (..),
   catch, block, toException, fromException)
-import Control.Monad.Trans.Control
 import Control.Applicative hiding (empty)
 import Control.Exception (SomeException)
 import qualified Control.Exception as E
@@ -172,21 +168,6 @@
     m `catch` f = Iteratee $ \od oc -> runIter m od oc `catch` (\e -> runIter (f e) od oc)
     block       = ilift block
     unblock     = ilift unblock
-
-instance forall s. (NullPoint s, Nullable s) => MonadTransControl (Iteratee s) where
-  liftControl f = lift $ f $ \t ->
-    liftM (either (uncurry idone)
-                  (\e -> te $ fromMaybe (iterStrExc
-                                       "iteratee: error in liftControl") e))
-      $ runIter t (\x s -> return $ Left (x,s))
-                  (\_ e -> return $ Right e)
-
-te :: SomeException -> Iteratee s m a
-te e = icont (const (te e)) (Just e)
-
-instance (Nullable s, MonadControlIO m) => MonadControlIO (Iteratee s m) where
-  {-# INLINE liftControlIO #-}
-  liftControlIO = liftLiftControlBase liftControlIO
 
 -- |Send 'EOF' to the @Iteratee@ and disregard the unconsumed part of the
 -- stream.  If the iteratee is in an exception state, that exception is
