diff --git a/io/io/src/TBufferMergerFile.cxx b/io/io/src/TBufferMergerFile.cxx
index aabf1fe00153780d1747d02c6c7027b6a0cdc2ec..f4d7205b29db2f69fda96dfa9eea6c2b284b0451 100644
--- a/io/io/src/TBufferMergerFile.cxx
+++ b/io/io/src/TBufferMergerFile.cxx
@@ -32,7 +32,7 @@ Int_t TBufferMergerFile::Write(const char *name, Int_t opt, Int_t bufsize)
    Int_t nbytes = TMemFile::Write(name, opt, bufsize);
 
    if (nbytes) {
-      TBufferFile *buffer = new TBufferFile(TBuffer::kWrite, nbytes);
+      TBufferFile *buffer = new TBufferFile(TBuffer::kWrite, GetSize());
       CopyTo(*buffer);
       buffer->SetReadMode();
       fMerger.Push(buffer);