diff --git a/core/java/src/net/i2p/util/LogManager.java b/core/java/src/net/i2p/util/LogManager.java
index a57512d4d33e9ac50225f311d8ba7a9ce4db26d5..c76ea02b69a3650249d0c3cc9425dd6b5761b992 100644
--- a/core/java/src/net/i2p/util/LogManager.java
+++ b/core/java/src/net/i2p/util/LogManager.java
@@ -664,7 +664,17 @@ public class LogManager {
 
     public void shutdown() {
         if (_writer != null) {
-            _log.log(Log.WARN, "Shutting down logger");
+            //_log.log(Log.WARN, "Shutting down logger");
+            // try to prevent out-of-order logging at shutdown
+            synchronized (_writer) {
+                _writer.notifyAll();
+            }
+            if (!_records.isEmpty()) {
+                try {
+                    Thread.sleep(250);
+                } catch (InterruptedException ie) {}
+            }
+            // this could generate out-of-order messages
             _writer.flushRecords(false);
             _writer.stopWriting();
         }