diff --git a/kontrakcja-templates.cabal b/kontrakcja-templates.cabal
--- a/kontrakcja-templates.cabal
+++ b/kontrakcja-templates.cabal
@@ -1,5 +1,5 @@
 Name:                kontrakcja-templates
-Version:             0.11
+Version:             0.12
 Synopsis:
     Utilities for working with many HStringTemplate templates from files.
 Description:
diff --git a/src/Text/StringTemplates/Templates.hs b/src/Text/StringTemplates/Templates.hs
--- a/src/Text/StringTemplates/Templates.hs
+++ b/src/Text/StringTemplates/Templates.hs
@@ -93,9 +93,18 @@
 import Text.StringTemplates.Fields
 import Control.Monad.Base (MonadBase)
 import Control.Monad.Catch
+import Control.Monad.Except
 import Control.Monad.Reader
-import Control.Monad.Identity
-import Control.Monad.Trans.Control (MonadBaseControl(..), MonadTransControl(..), ComposeSt, defaultLiftBaseWith, defaultRestoreM, defaultLiftWith, defaultRestoreT)
+import Control.Monad.Identity hiding (liftCatch)
+import Control.Monad.Signatures
+import Control.Monad.Trans.Control ( MonadBaseControl(..)
+                                   , MonadTransControl(..)
+                                   , ComposeSt
+                                   , defaultLiftBaseWith
+                                   , defaultRestoreM
+                                   , defaultLiftWith
+                                   , defaultRestoreT
+                                   )
 
 -- | renders a template by name
 renderTemplate :: TemplatesMonad m =>
@@ -170,3 +179,7 @@
   getTextTemplatesByLanguage lang = TemplatesT $ do
     (_, ts) <- ask
     return $ localizedVersion lang ts
+
+instance MonadError e m => MonadError e (TemplatesT m) where
+  throwError = lift . throwError
+  catchError m h = TemplatesT $ catchError (unTT m) (unTT . h)
