diff --git a/hxt-cache.cabal b/hxt-cache.cabal
--- a/hxt-cache.cabal
+++ b/hxt-cache.cabal
@@ -1,8 +1,11 @@
 Name:           hxt-cache
-Version:        9.0.2.1
+Version:        9.1.0
 Synopsis:       Cache for HXT XML Documents and other binary data
 Description:    Extension for caching XML documents and other binary data in cache directory
-                of the local filesystem.
+                of the local filesystem
+                .
+                Changes from 9.0.2: dependency of old-time changed to time, dependecy of directory changed to >=1.2 to work with ghc-7.6
+                .
 License:        OtherLicense
 License-file:   LICENSE
 Author:         Uwe Schmidt
@@ -34,11 +37,11 @@
                 binary     >= 0.5 && < 1,
                 containers >= 0.2 && < 1,
                 deepseq    >= 1.1 && < 2,
-                directory  >= 1   && < 1.2,
+                directory  >= 1.2 && < 2,
                 filepath   >= 1.1 && < 2,
                 hxt        >= 9   && < 10,
                 old-locale >= 1   && < 2,
-                old-time   >= 1   && < 2,
+                time       >= 1.4 && < 2,
                 unix       >= 2.3 && < 3,
                 SHA        >= 1.4 && < 2
 
diff --git a/src/Text/XML/HXT/Arrow/XmlCache.hs b/src/Text/XML/HXT/Arrow/XmlCache.hs
--- a/src/Text/XML/HXT/Arrow/XmlCache.hs
+++ b/src/Text/XML/HXT/Arrow/XmlCache.hs
@@ -39,13 +39,14 @@
 import Data.Either
 import Data.Maybe
 import Data.Digest.Pure.SHA
+import Data.Time
 
 import System.FilePath
 import System.Directory
 import System.IO
 import System.Locale
 import System.Posix                            ( touchFile )
-import System.Time
+-- import System.Time
 import System.IO.Unsafe                        ( unsafePerformIO )
 
 import Text.XML.HXT.Core
@@ -208,7 +209,7 @@
                                                  )
                           ]
         where
-        fmtTime         = formatCalendarTime defaultTimeLocale rfc822DateFormat . toUTCTime
+        fmtTime         = formatTime defaultTimeLocale rfc822DateFormat
 
 -- ------------------------------------------------------------
 
@@ -276,7 +277,7 @@
 -- Just Nothing  : cache hit, cache data valid: use cache data
 -- Just (Just t) : cache hit, but cache data out of date: get document conditionally with if-modified-since t
 
-cacheHit                :: Int -> FilePath -> IO (Maybe (Maybe ClockTime))
+cacheHit                :: Int -> FilePath -> IO (Maybe (Maybe UTCTime))
 cacheHit age cf         = ( try' $
                             do
                             e <- doesFileExist cf
@@ -284,15 +285,13 @@
                               then return Nothing
                               else do
                                    mt <- getModificationTime cf
-                                   ct <- getClockTime
-                                   return . Just $ if (dt `addToClockTime` mt) >= ct
+                                   ct <- getCurrentTime
+                                   return . Just $ if (dt `addUTCTime` mt) >= ct
                                                    then Nothing
                                                    else Just mt
                           ) >>= return . either (const Nothing) id
     where
-    seconds             = age `mod` 60
-    minutes             = age `div` 60
-    dt                  = normalizeTimeDiff $ TimeDiff 0 0 0 0 minutes seconds 0
+    dt                  = fromInteger . toInteger $ age
 
 try'                    :: IO a -> IO (Either SomeException a)
 try'                    = try
