diff --git a/router/java/src/net/i2p/router/transport/udp/EstablishmentManager.java b/router/java/src/net/i2p/router/transport/udp/EstablishmentManager.java
index 6cfa3cdc333da806eae1b96eb814ce6a2f204786..155fe569b759f85a5e3f42347d10f7bc84b74b14 100644
--- a/router/java/src/net/i2p/router/transport/udp/EstablishmentManager.java
+++ b/router/java/src/net/i2p/router/transport/udp/EstablishmentManager.java
@@ -611,7 +611,9 @@ class EstablishmentManager {
 
             Map.Entry<RemoteHostId, List<OutNetMessage>> entry = iter.next();
             // java 5 IllegalStateException here
-            iter.remove();
+            try {
+                iter.remove();
+            } catch (IllegalStateException ise) {}
             RemoteHostId to = entry.getKey();
             List<OutNetMessage> allQueued = entry.getValue();
             List<OutNetMessage> queued = new ArrayList();