diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,7 @@
+3.4
+---
+* Added instance `MonadFree f (ContT r m)`
+
 3.3.1
 -----
 * Refactored build system
diff --git a/free.cabal b/free.cabal
--- a/free.cabal
+++ b/free.cabal
@@ -1,6 +1,6 @@
 name:          free
 category:      Control, Monads
-version:       3.3.1
+version:       3.4
 license:       BSD3
 cabal-version: >= 1.10
 license-file:  LICENSE
diff --git a/src/Control/Monad/Free/Class.hs b/src/Control/Monad/Free/Class.hs
--- a/src/Control/Monad/Free/Class.hs
+++ b/src/Control/Monad/Free/Class.hs
@@ -26,6 +26,7 @@
 import qualified Control.Monad.Trans.Writer.Lazy as Lazy
 import qualified Control.Monad.Trans.RWS.Strict as Strict
 import qualified Control.Monad.Trans.RWS.Lazy as Lazy
+import Control.Monad.Trans.Cont
 import Control.Monad.Trans.Maybe
 import Control.Monad.Trans.List
 import Control.Monad.Trans.Error
@@ -88,6 +89,9 @@
 
 instance (Functor f, MonadFree f m) => MonadFree f (Strict.StateT s m) where
   wrap fm = Strict.StateT $ \s -> wrap $ flip Strict.runStateT s <$> fm
+
+instance (Functor f, MonadFree f m) => MonadFree f (ContT r m) where
+  wrap t = ContT $ \h -> wrap (fmap (\p -> runContT p h) t)
 
 instance (Functor f, MonadFree f m, Monoid w) => MonadFree f (Lazy.WriterT w m) where
   wrap = Lazy.WriterT . wrap . fmap Lazy.runWriterT
