diff --git a/avers.cabal b/avers.cabal
--- a/avers.cabal
+++ b/avers.cabal
@@ -1,5 +1,5 @@
 name:                avers
-version:             0.0.11
+version:             0.0.12
 license:             GPL-3
 license-file:        LICENSE
 author:              Tomas Carnecky
diff --git a/src/Avers/Storage.hs b/src/Avers/Storage.hs
--- a/src/Avers/Storage.hs
+++ b/src/Avers/Storage.hs
@@ -295,7 +295,8 @@
     patches <- patchesAfterRevision objId (snapshotRevisionId snapshot)
 
     -- Apply those patches to the snapshot.
-    foldM applyPatchToSnapshot snapshot patches
+    foldM applyPatchToSnapshot snapshot $
+        filter (\Patch{..} -> unRevId patchRevisionId <= revId) patches
 
 
 
@@ -359,7 +360,7 @@
 patchesAfterRevision objId (RevId revId) = measureDuration M_avers_storage_patchesAfterRevision_duration $ do
     res <- runQueryCollect $
         R.OrderBy [R.Ascending "revisionId"] $
-        objectPatchSequenceE objId revId maxBound
+        objectPatchSequenceE objId (revId + 1) maxBound
 
     V.toList <$> V.mapM parseDatum res
 
