--- src/java/org/apache/poi/poifs/storage/RawDataBlock.java (revision 4251) +++ src/java/org/apache/poi/poifs/storage/RawDataBlock.java (working copy) @@ -72,10 +72,9 @@ _eof = true; } else if (count != blockSize) { - // IOUtils.readFully will always read the - // requested number of bytes, unless it hits - // an EOF - _eof = true; + // IOUtils.readFully will always read the requested number + // of bytes unless it hits EOF. + // Original code set _eof = true here, but this causes "Cannot remove block" errors later. String type = " byte" + ((count == 1) ? ("") : ("s"));