diff --git a/Happstack/Server/Heist.hs b/Happstack/Server/Heist.hs
--- a/Happstack/Server/Heist.hs
+++ b/Happstack/Server/Heist.hs
@@ -10,15 +10,15 @@
     ) where
 
 import Blaze.ByteString.Builder                (toLazyByteString)
-import Control.Monad                           (MonadPlus(mzero), msum)
-import Control.Monad.Trans                     (MonadIO)
+import Control.Monad                           (MonadPlus(mzero), msum, liftM)
+import Control.Monad.Trans                     (MonadIO(liftIO))
 import           Data.ByteString.Char8         (ByteString)
 import qualified Data.ByteString.Char8         as B
 import qualified Data.ByteString.Lazy          as L
 import Happstack.Server                        (Response, ServerMonad, askRq, nullDir, rqPaths, toResponseBS)
 import System.FilePath                         (joinPath)
-import Text.Templating.Heist                   (renderTemplate)
-import Text.Templating.Heist.TemplateDirectory (TemplateDirectory, getDirectoryTS, reloadTemplateDirectory)
+import Heist.Compiled                          (renderTemplate)
+import Heist.TemplateDirectory (TemplateDirectory, getDirectoryHS, reloadTemplateDirectory)
 
 -- | serve the heist templates from the 'TemplateDirectory m'
 templateServe :: (ServerMonad m, MonadPlus m, MonadIO m) =>
@@ -36,7 +36,7 @@
                     TemplateDirectory m
                  -> n Response
 templateReloader td = do
-    e <- reloadTemplateDirectory td
+    e <- liftIO $ reloadTemplateDirectory td
     return $ toResponseBS (B.pack "text/plain; charset=utf-8") $
         L.fromChunks [either B.pack (const $ B.pack "Templates loaded successfully.") e]
 
@@ -47,7 +47,7 @@
       -> ByteString           -- ^ template name
       -> m Response
 render td template = do
-    ts    <- getDirectoryTS td
-    t     <- renderTemplate ts template
-    flip (maybe mzero) t $ \(builder, mimeType) -> do
-        return (toResponseBS mimeType (toLazyByteString builder))
+    ts    <- liftIO $ getDirectoryHS td
+    let t = renderTemplate ts template
+    flip (maybe mzero) t $ \(builder, mimeType) ->
+      liftM (toResponseBS mimeType . toLazyByteString) builder
diff --git a/happstack-heist.cabal b/happstack-heist.cabal
--- a/happstack-heist.cabal
+++ b/happstack-heist.cabal
@@ -1,5 +1,5 @@
 Name:                happstack-heist
-Version:             7.0.1
+Version:             7.0.2
 Synopsis:            Support for using Heist templates in Happstack
 Description:         Happstack is a web application framework. Heist is an XML templating solution. This package makes it easy to use Heist templates with Happstack.
 Homepage:            http://www.happstack.com/
@@ -19,10 +19,10 @@
 
 Library
   Exposed-modules:     Happstack.Server.Heist
-  Build-depends:       base >= 3.0 && < 5.0,
-                       blaze-builder >= 0.2 && <0.4,
-                       bytestring >= 0.9 && < 0.11,
+  Build-depends:       base             >= 3.0 && < 5.0,
+                       blaze-builder    >= 0.2 && <0.4,
+                       bytestring       >= 0.9 && < 0.11,
                        filepath,
                        happstack-server >= 6.0 && < 7.2,
-                       heist >= 0.5 && < 0.9,
-                       mtl == 2.*
+                       heist            >= 0.10 && < 0.12,
+                       mtl              == 2.*
