Index: lucene/src/java/org/apache/lucene/index/IndexWriter.java =================================================================== --- lucene/src/java/org/apache/lucene/index/IndexWriter.java (revision 1156256) +++ lucene/src/java/org/apache/lucene/index/IndexWriter.java (working copy) @@ -2790,9 +2790,17 @@ } catch (OutOfMemoryError oom) { handleOOM(oom, "prepareCommit"); } - - if (anySegmentsFlushed) { - maybeMerge(); + + boolean success = false; + try { + if (anySegmentsFlushed) { + maybeMerge(); + } + success = true; + } finally { + if (!success) { + deleter.decRef(toCommit); + } } startCommit(toCommit, commitUserData);