diff --git a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java
index 503fb0fef6d875f82b2d8965841178def0b1b4d1..f0fa96e2b5eeff5cc301019964fbf18b98aff463 100644
--- a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java
+++ b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java
@@ -2502,6 +2502,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
     public void mayDisconnect(final Hash peer) {
         final PeerState ps =  _peersByIdent.get(peer);
         if (ps != null && ps.isInbound() &&
+            ps.getWeRelayToThemAs() <= 0 &&
             ps.getMessagesReceived() <= 2 && ps.getMessagesSent() <= 2) {
             ps.setMayDisconnect();
         }