diff --git a/Data/Cache/LRU/Internal.hs b/Data/Cache/LRU/Internal.hs
--- a/Data/Cache/LRU/Internal.hs
+++ b/Data/Cache/LRU/Internal.hs
@@ -1,4 +1,5 @@
 {-# OPTIONS_HADDOCK not-home #-}
+{-# LANGUAGE CPP #-}
 
 -- | This module provides access to all the internals use by the LRU
 -- type.  This can be used to create data structures that violate the
@@ -14,6 +15,9 @@
 
 import Data.Map ( Map )
 import qualified Data.Map as Map
+#if __GLASGOW_HASKELL__ >= 706
+import qualified Data.Map.Strict as MapStrict
+#endif
 
 -- | Stores the information that makes up an LRU cache
 data LRU key val = LRU {
@@ -245,7 +249,11 @@
 -- the key isn't present, 'undefined' will be inserted into the 'Map',
 -- which will cause problems later.
 adjust' :: Ord k => (a -> a) -> k -> Map k a -> Map k a
-adjust' f k m = Map.insertWith' (\_ o -> f o) k undefined m
+#if __GLASGOW_HASKELL__ >= 706
+adjust' = MapStrict.adjust
+#else
+adjust' f k m = Map.insertWith' (\_ o -> f o) k (error "adjust' used wrongly") m
+#endif
 
 -- | Internal function.  This checks the four structural invariants
 -- of the LRU cache structure:
diff --git a/lrucache.cabal b/lrucache.cabal
--- a/lrucache.cabal
+++ b/lrucache.cabal
@@ -1,5 +1,5 @@
 Name:                lrucache
-Version:             1.1.1.1
+Version:             1.1.1.2
 Synopsis:            a simple, pure LRU cache
 License:             BSD3
 License-file:        LICENSE
@@ -18,6 +18,9 @@
         an LRU cache.
         .
         Version History:
+        .
+        1.1.1.2 - Make actually compatible with containers 0.5 - fix strictness issue
+        .
         1.1.1.1 - Fix containers upper bound for GHC 7.6.
         .
         1.1.1 - Add an additional modification function for AtomicLRUCache.
@@ -63,7 +66,7 @@
 Source-repository this
   type:              git
   location:          https://github.com/chowells79/lrucache.git
-  tag:               1.1.1.1
+  tag:               1.1.1.2
 
 Library
   Exposed-modules:
