diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java
index d275d385ce14a3a83cdf70b46faaabe361f20277..cb1b25ae71bd7a978f6a94f917cd0ed2cee8aa1e 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java
@@ -490,6 +490,16 @@ public class IndexBean {
                 return "<font color=\"red\">" +
                        _("Warning - ports less than 1024 are not recommended") +
                        ": " + port + "</font>";
+            // dup check, O(n**2)
+            List<TunnelController> controllers = _group.getControllers();
+            for (int i = 0; i < controllers.size(); i++) {
+                if (i == tunnel)
+                    continue;
+                if (port.equals(controllers.get(i).getListenPort()))
+                    return "<font color=\"red\">" +
+                           _("Warning - duplicate port") +
+                           ": " + port + "</font>";
+            }
             return port;
         }
         return "<font color=\"red\">" + _("Port not set") + "</font>";