diff --git a/safecopy.cabal b/safecopy.cabal
--- a/safecopy.cabal
+++ b/safecopy.cabal
@@ -7,7 +7,7 @@
 -- The package version. See the Haskell package versioning policy
 -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
 -- standards guiding when and how versions should be incremented.
-Version:             0.7.1
+Version:             0.7.2
 
 -- A short (one-line) description of the package.
 Synopsis:            Binary serialization with version control.
diff --git a/src/Data/SafeCopy/SafeCopy.hs b/src/Data/SafeCopy/SafeCopy.hs
--- a/src/Data/SafeCopy/SafeCopy.hs
+++ b/src/Data/SafeCopy/SafeCopy.hs
@@ -134,7 +134,8 @@
                                      errorMsg $
                                      "Cannot find getter associated with this version number: " ++ show diskVersion
                                  Extends b_proxy
-                                   -> fmap migrate (constructGetterFromVersion (castVersion diskVersion) b_proxy)
+                                   -> do previous <- constructGetterFromVersion (castVersion diskVersion) b_proxy
+                                         return $! migrate previous
 
   where
     errorMsg msg =
