--- LoggerContext.java.orig 2008-08-16 18:03:26.000000000 +0200 +++ LoggerContext.java 2008-11-05 08:32:22.575104100 +0100 @@ -134,12 +134,15 @@ } // move i left of the last point i = h + 1; - synchronized (logger) { - childLogger = logger.getChildByName(childName); - if (childLogger == null) { - childLogger = logger.createChildByName(childName); - loggerCache.put(childName, childLogger); - incSize(); + synchronized (this) + { + synchronized (logger) { + childLogger = logger.getChildByName(childName); + if (childLogger == null) { + childLogger = logger.createChildByName(childName); + loggerCache.put(childName, childLogger); + incSize(); + } } } logger = childLogger;