diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NavHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/NavHelper.java
index cabb68f156e99c866798de28342684d251439d29..37ca94cd6674c8c4257acae1876c2628185fb8bb 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/NavHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/NavHelper.java
@@ -1,14 +1,13 @@
 package net.i2p.router.web;
 
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
+import net.i2p.I2PAppContext;
 
-public class NavHelper extends HelperBase {
-    private static Map _apps = new HashMap();
-    
-    public NavHelper() {}
+public class NavHelper {
+    private static Map<String, String> _apps = new ConcurrentHashMap();
     
     /**
      * To register a new client application so that it shows up on the router
@@ -25,13 +24,17 @@ public class NavHelper extends HelperBase {
         _apps.remove(name);
     }
     
-    public String getClientAppLinks() {
+    /**
+     *  Fixme, this translates with the router console bundle, not
+     *  the plugin bundle
+     */
+    public static String getClientAppLinks(I2PAppContext ctx) {
         StringBuilder buf = new StringBuilder(1024); 
-        for (Iterator iter = _apps.keySet().iterator(); iter.hasNext(); ) {
-            String name = (String)iter.next();
-            String path = (String)_apps.get(name);
-            buf.append("<a href=\"").append(path).append("\">");
-            buf.append(name).append("</a> |");
+        for (Iterator<String> iter = _apps.keySet().iterator(); iter.hasNext(); ) {
+            String name = iter.next();
+            String path = _apps.get(name);
+            buf.append(" <a target=\"_top\" href=\"").append(path).append("\">");
+            buf.append(Messages.getString(name, ctx)).append("</a>");
         }
         return buf.toString();
     }
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java b/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java
index 3d11191a971ceb7b62cd3380b72c7a4efe83cb81..99562789ab0a11e3c1da19b175b5b80e5f79be03 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java
@@ -131,6 +131,15 @@ public class PluginStarter implements Runnable {
         // add themes in console/themes
 
         // add summary bar link
+        File pluginConfig = new File(pluginDir, "plugin.config");
+        if (pluginConfig.exists()) {
+            Properties props = new Properties();
+            DataHelper.loadProps(props, pluginConfig);
+            String name = props.getProperty("consoleLinkName");
+            String url = props.getProperty("consoleLinkURL");
+            if (name != null && url != null && name.length() > 0 && url.length() > 0)
+                NavHelper.registerApp(name, url);
+        }
 
         return true;
     }
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java
index 7dd28c0efa1de3f4751bf9dfc849de88337ec6d0..153ef06301ce52bf645024a72b93728a5f19a003 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java
@@ -70,7 +70,11 @@ public class SummaryBarRenderer {
                .append(_("Anonymous resident webserver"))
                .append("\">")
                .append(_("Webserver"))
-               .append("</a></td></tr></table>\n" +
+               .append("</a>")
+
+               .append(NavHelper.getClientAppLinks(_context))
+
+               .append("</td></tr></table>\n" +
 
                        "<hr><h3><a href=\"/config.jsp\" target=\"_top\" title=\"")
                .append(_("Configure I2P Router"))