Index: src/main/java/org/apache/log4j/AsyncAppender.java =================================================================== --- src/main/java/org/apache/log4j/AsyncAppender.java (revision 1227156) +++ src/main/java/org/apache/log4j/AsyncAppender.java (working copy) @@ -142,7 +142,7 @@ // if dispatcher thread has died then // append subsequent events synchronously // See bug 23021 - if ((dispatcher == null) || !dispatcher.isAlive() || (bufferSize <= 0)) { + if (bufferSize <= 0) { synchronized (appenders) { appenders.appendLoopOnAppenders(event); } @@ -177,6 +177,10 @@ } break; + } else if (!dispatcher.isAlive()) { + buffer.clear(); + bufferSize = -1; + break; } //