diff --git a/memoization-utils.cabal b/memoization-utils.cabal
--- a/memoization-utils.cabal
+++ b/memoization-utils.cabal
@@ -1,5 +1,5 @@
 name:                memoization-utils
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            Utilities for memoizing functions
 -- description:
 homepage:            http://github.com/yamadapc/haskell-memoization-utils
diff --git a/src/Control/Memoization/Utils.hs b/src/Control/Memoization/Utils.hs
--- a/src/Control/Memoization/Utils.hs
+++ b/src/Control/Memoization/Utils.hs
@@ -22,7 +22,9 @@
     return $ \arg -> do
         m <- takeMVar mm
         case Map.lookup arg m of
-            Just ret -> return ret
+            Just ret -> do
+                putMVar mm m
+                return ret
             Nothing -> do
                 ret <- action arg
                 putMVar mm (Map.insert arg ret m)
