diff --git a/Control/Monad/Random.hs b/Control/Monad/Random.hs
--- a/Control/Monad/Random.hs
+++ b/Control/Monad/Random.hs
@@ -42,6 +42,7 @@
 
 import System.Random
 import Control.Monad()
+import Control.Monad.Error
 import Control.Monad.Identity
 import Control.Monad.Random.Class
 import Control.Monad.Reader
@@ -53,7 +54,7 @@
 
 -- | A monad transformer which adds a random number generator to an
 -- existing monad.
-newtype (RandomGen g) => RandT g m a = RandT (StateT g m a)
+newtype RandT g m a = RandT (StateT g m a)
     deriving (Functor, Monad, MonadTrans, MonadIO, MonadFix)
 
 instance (Functor m,Monad m) => Applicative (RandT g m) where
@@ -138,6 +139,12 @@
     getRandoms = lift getRandoms
     getRandomRs = lift . getRandomRs
 
+instance (Error e, MonadRandom m) => MonadRandom (ErrorT e m) where
+    getRandom = lift getRandom
+    getRandomR = lift . getRandomR
+    getRandoms = lift getRandoms
+    getRandomRs = lift . getRandomRs
+
 instance (MonadSplit g m) => MonadSplit g (StateT s m) where
     getSplit = lift getSplit
 
@@ -145,6 +152,9 @@
     getSplit = lift getSplit
 
 instance (MonadSplit g m) => MonadSplit g (ReaderT r m) where
+    getSplit = lift getSplit
+
+instance (Error e, MonadSplit g m) => MonadSplit g (ErrorT e m) where
     getSplit = lift getSplit
 
 instance (MonadState s m, RandomGen g) => MonadState s (RandT g m) where
diff --git a/MonadRandom.cabal b/MonadRandom.cabal
--- a/MonadRandom.cabal
+++ b/MonadRandom.cabal
@@ -1,6 +1,6 @@
 Name:                MonadRandom
 Build-type:          Simple
-Version:             0.1.6
+Version:             0.1.7
 Synopsis:            Random-number generation monad.
 Description:         Support for computations which consume random values.
 License:             OtherLicense
