diff --git a/Git/Libgit2/Internal.hs b/Git/Libgit2/Internal.hs
--- a/Git/Libgit2/Internal.hs
+++ b/Git/Libgit2/Internal.hs
@@ -59,7 +59,7 @@
   -> m b
 lookupObject' oid len lookupFn lookupPrefixFn createFn = do
     repo <- Git.getRepository
-    result <- control $ \run -> alloca $ \ptr -> do
+    result <- liftBaseWith $ \run -> alloca $ \ptr -> do
         r <- withForeignPtr (repoObj repo) $ \repoPtr ->
             withForeignPtr oid $ \oidPtr ->
                 if len == 40
@@ -71,10 +71,10 @@
               let args = ["Could not lookup ", T.pack oidStr]
               err <- c'giterr_last
               if err == nullPtr
-                  then run $ return $ Left $ T.concat args
+                  then return $ Left $ T.concat args
                   else do
                       errmsg <- peekCString . c'git_error'message =<< peek err
-                      run $ return $ Left $
+                      return $ Left $
                           T.concat $ args ++ [": ", T.pack errmsg]
             else do
               ptr'     <- peek ptr
@@ -84,8 +84,8 @@
 
               let p = castPtr ptr'
               fptr <- FC.newForeignPtr p (c'git_object_free p)
-              run $ Right <$> createFn coidCopy (castForeignPtr fptr) ptr'
-    either (throwM . Git.BackendError) return result
+              Right <$> run (createFn coidCopy (castForeignPtr fptr) ptr')
+    either (throwM . Git.BackendError) restoreM result
 
 -- lgLookupObject :: Text -> LgRepository Dynamic
 -- lgLookupObject str
diff --git a/gitlib-libgit2.cabal b/gitlib-libgit2.cabal
--- a/gitlib-libgit2.cabal
+++ b/gitlib-libgit2.cabal
@@ -1,5 +1,5 @@
 Name:                gitlib-libgit2
-Version:             3.1.0.2
+Version:             3.1.0.3
 Synopsis:            Libgit2 backend for gitlib
 License-file:        LICENSE
 License:             MIT
@@ -53,7 +53,7 @@
         , lifted-base          >= 0.2.0.2
         , missing-foreign      >= 0.1.1
         , mmorph               >= 1.0.0
-        , monad-control        >= 0.3.2
+        , monad-control        >= 1.0
         , monad-logger         >= 0.3.4.1
         , monad-loops          >= 0.3.3.0
         , mtl                  >= 2.1.2
