diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -14,3 +14,5 @@
 * **0.2.5**
  * added changelog
  * added putVSpace and VSpace VCacheable instance
+* **0.2.6**
+ * fix a severe buffer resize bug for allocating large VCache nodes
diff --git a/hsrc_lib/Database/VCache/VPutFini.hs b/hsrc_lib/Database/VCache/VPutFini.hs
--- a/hsrc_lib/Database/VCache/VPutFini.hs
+++ b/hsrc_lib/Database/VCache/VPutFini.hs
@@ -76,7 +76,7 @@
     (VPutR r sf) <- runPut `onException` freeBuff
     pBuff' <- readIORef vBuff
     let len = vput_target sf `minusPtr` pBuff'
-    pBuffR <- reallocBytes pBuff len -- reclaim unused space
+    pBuffR <- reallocBytes pBuff' len -- reclaim unused space
     fpBuff' <- newForeignPtr finalizerFree pBuffR
     let bytes = BSI.fromForeignPtr fpBuff' 0 len
     return (r, bytes, vput_children sf)
diff --git a/vcache.cabal b/vcache.cabal
--- a/vcache.cabal
+++ b/vcache.cabal
@@ -1,5 +1,5 @@
 Name: vcache
-Version: 0.2.5
+Version: 0.2.6
 Synopsis: semi-transparent persistence for Haskell using LMDB, STM
 Category: Database
 Description:
