diff --git a/router/java/src/net/i2p/router/startup/RouterAppManager.java b/router/java/src/net/i2p/router/startup/RouterAppManager.java
index e94684d1545fdd5cdbd68d85458b9300b762ec70..9f8dc407799d8b6485d0c76cdcbcbfd09a09c778 100644
--- a/router/java/src/net/i2p/router/startup/RouterAppManager.java
+++ b/router/java/src/net/i2p/router/startup/RouterAppManager.java
@@ -48,7 +48,7 @@ public class RouterAppManager implements ClientAppManager {
     public boolean addAndStart(ClientApp app, String[] args) {
         if (_log.shouldLog(Log.INFO))
             _log.info("Client " + app.getDisplayName() + " ADDED");
-        String[] old = _clients.put(app, args);
+        String[] old = _clients.putIfAbsent(app, args);
         if (old != null)
             throw new IllegalArgumentException("already added");
         try {