diff --git a/HStringTemplateHelpers.cabal b/HStringTemplateHelpers.cabal
--- a/HStringTemplateHelpers.cabal
+++ b/HStringTemplateHelpers.cabal
@@ -1,5 +1,5 @@
 Name: HStringTemplateHelpers
-Version: 0.0.4
+Version: 0.0.6
 License: GPL
 License-file: gpl.txt
 Description: Convenience functions and instances for HStringTemplate. I will deprecate this package if its contents are integrated into HStringTemplate.
@@ -9,7 +9,7 @@
 Stability: Beta
 Copyright: Copyright (c) 2006-2008 Thomas Hartman
 Exposed-Modules: Text.StringTemplate.Helpers
-Build-Depends: base, HStringTemplate, filepath, directory, containers, HSH, mtl, safe
+Build-Depends: base, HStringTemplate, filepath, directory, containers, HSH, mtl, safe, strict
 Category: Text
 Build-type: Simple
 
diff --git a/Text/StringTemplate/Helpers.hs b/Text/StringTemplate/Helpers.hs
--- a/Text/StringTemplate/Helpers.hs
+++ b/Text/StringTemplate/Helpers.hs
@@ -26,6 +26,7 @@
 import Text.StringTemplate.Base
 import System.Directory
 import System.FilePath
+import qualified System.IO.Strict as Strict
 import Control.Applicative
 import Data.List (find)
 import Data.Char
@@ -127,7 +128,7 @@
 directoryGroupSafer :: FilePath -> IO (String -> StFirst (StringTemplate String) )
 directoryGroupSafer path = do 
   files <- mapM checkTmplName =<< return . filter isTemplateFile =<< getDirectoryContents path   
-  contents <- mapM readFile $ map (path </>) files 
+  contents <- mapM Strict.readFile $ map (path </>) files 
   -- does this make it strict? what's the right way to do it?
   -- mm, the buggy behavior persists.
   --putStrLn . show . last . show $ contents 
