diff --git a/Database/Persist/Sql/Orphan/PersistQuery.hs b/Database/Persist/Sql/Orphan/PersistQuery.hs
--- a/Database/Persist/Sql/Orphan/PersistQuery.hs
+++ b/Database/Persist/Sql/Orphan/PersistQuery.hs
@@ -20,6 +20,7 @@
 import Control.Monad.Logger
 import Control.Monad.IO.Class
 import Control.Monad.Trans.Class
+import Control.Monad.Trans.Resource (MonadResource)
 import Control.Exception (throwIO)
 import qualified Data.Conduit.List as CL
 import Data.Conduit
diff --git a/Database/Persist/Sql/Orphan/PersistStore.hs b/Database/Persist/Sql/Orphan/PersistStore.hs
--- a/Database/Persist/Sql/Orphan/PersistStore.hs
+++ b/Database/Persist/Sql/Orphan/PersistStore.hs
@@ -18,8 +18,9 @@
 import Data.ByteString.Char8 (readInteger)
 import Data.Maybe (isJust)
 import Data.List (find)
+import Control.Monad.Trans.Resource (MonadResource)
 
-instance (C.MonadResource m, MonadLogger m) => PersistStore (SqlPersistT m) where
+instance (MonadResource m, MonadLogger m) => PersistStore (SqlPersistT m) where
     type PersistMonadBackend (SqlPersistT m) = SqlBackend
     insert val = do
         conn <- askSqlConn
diff --git a/Database/Persist/Sql/Orphan/PersistUnique.hs b/Database/Persist/Sql/Orphan/PersistUnique.hs
--- a/Database/Persist/Sql/Orphan/PersistUnique.hs
+++ b/Database/Persist/Sql/Orphan/PersistUnique.hs
@@ -12,6 +12,7 @@
 import Control.Monad.Logger
 import qualified Data.Conduit.List as CL
 import Data.Conduit
+import Control.Monad.Trans.Resource (MonadResource)
 
 instance (MonadResource m, MonadLogger m) => PersistUnique (SqlPersistT m) where
     deleteBy uniq = do
diff --git a/Database/Persist/Sql/Raw.hs b/Database/Persist/Sql/Raw.hs
--- a/Database/Persist/Sql/Raw.hs
+++ b/Database/Persist/Sql/Raw.hs
@@ -16,6 +16,7 @@
 import Control.Monad.Trans.Class (lift)
 import qualified Data.Text as T
 import Data.Conduit
+import Control.Monad.Trans.Resource (MonadResource)
 
 rawQuery :: (MonadSqlPersist m, MonadResource m)
          => Text
diff --git a/Database/Persist/Sql/Types.hs b/Database/Persist/Sql/Types.hs
--- a/Database/Persist/Sql/Types.hs
+++ b/Database/Persist/Sql/Types.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE RankNTypes #-}
 {-# LANGUAGE EmptyDataDecls #-}
 {-# LANGUAGE TypeFamilies #-}
@@ -93,8 +94,13 @@
 
 type SqlPersistM = SqlPersistT (NoLoggingT (ResourceT IO))
 
+#if MIN_VERSION_resourcet(1,1,0)
 instance MonadThrow m => MonadThrow (SqlPersistT m) where
+    throwM = lift . throwM
+#else
+instance MonadThrow m => MonadThrow (SqlPersistT m) where
     monadThrow = lift . monadThrow
+#endif
 
 instance MonadBase backend m => MonadBase backend (SqlPersistT m) where
     liftBase = lift . liftBase
diff --git a/persistent.cabal b/persistent.cabal
--- a/persistent.cabal
+++ b/persistent.cabal
@@ -1,5 +1,5 @@
 name:            persistent
-version:         1.3.0.4
+version:         1.3.0.5
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
