diff --git a/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java b/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java
index 781449ac90158a4cbd2eede9fef1674c2261f9cb..9f21bf93cd72339a8a626739e7fb49f7bfba997e 100644
--- a/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java
+++ b/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java
@@ -269,6 +269,7 @@ public class NewsManager implements RouterApp {
         return rv;
     }
 
+/****
     public static void main(String[] args) {
         if (args.length != 0) {
             System.err.println("Usage: NewsManager");
@@ -281,7 +282,9 @@ public class NewsManager implements RouterApp {
         System.out.println("Loaded " + entries.size() + " news entries");
         for (int i = 0; i < entries.size(); i++) {
             NewsEntry e = entries.get(i);
-            System.out.println("\n****** News #" + (i+1) + ": " + e.title + ' ' + new Date(e.updated) + '\n' + e.content);
+            System.out.println("\n****** News #" + (i+1) + ": " + e.title + ' ' + new Date(e.updated) +
+                               "\nLink: " + e.link + '\n' + e.content);
         }
     }
+****/
 }
diff --git a/apps/routerconsole/java/src/net/i2p/router/news/NewsXMLParser.java b/apps/routerconsole/java/src/net/i2p/router/news/NewsXMLParser.java
index 20d8746c7c2539217c71eca3bc8b5fab3fc8deba..5f35fa8c6dd62719376a17c0334bc62e4d92f528 100644
--- a/apps/routerconsole/java/src/net/i2p/router/news/NewsXMLParser.java
+++ b/apps/routerconsole/java/src/net/i2p/router/news/NewsXMLParser.java
@@ -267,9 +267,9 @@ public class NewsXMLParser {
             }
             n = entry.getNode("link");
             if (n != null) {
-                e.link = n.getValue();
-                if (e.link != null)
-                    e.link = e.link.trim();
+                String a = n.getAttributeValue("href");
+                if (a.length() > 0)
+                    e.link = a.trim();
             }
             n = entry.getNode("id");
             if (n != null) {
diff --git a/apps/routerconsole/java/src/net/i2p/router/news/PersistNews.java b/apps/routerconsole/java/src/net/i2p/router/news/PersistNews.java
index 65e17c6bc2bc0744730e157c70d2c93c68862146..164b04422cf87d95c7a10b4fd89aa106e4eb6193 100644
--- a/apps/routerconsole/java/src/net/i2p/router/news/PersistNews.java
+++ b/apps/routerconsole/java/src/net/i2p/router/news/PersistNews.java
@@ -155,9 +155,9 @@ class PersistNews {
         }
         n = entry.getNode("link");
         if (n != null) {
-            e.link = n.getValue();
-            if (e.link != null)
-                e.link = e.link.trim();
+            String a = n.getAttributeValue("href");
+            if (a.length() > 0)
+                e.link = a.trim();
         }
         n = entry.getNode("id");
         if (n != null) {
@@ -231,6 +231,7 @@ class PersistNews {
         return PFX + Base64.encode(hash) + SFX;
     }
 
+/****
     public static void main(String[] args) {
         if (args.length != 1) {
             System.err.println("Usage: PersistNews file.xml");
@@ -262,4 +263,5 @@ class PersistNews {
             System.out.println("\n****** News #" + (i+1) + ": " + e.title + '\n' + e.content);
         }
     }
+****/
 }
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NewsFeedHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/NewsFeedHelper.java
index 7a9adae761efacad869eea4849110be66ee44fe7..ef2e7ea3754ce5153c3aceb06f6229a72fd8fe81 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/NewsFeedHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/NewsFeedHelper.java
@@ -8,6 +8,7 @@ import java.util.TimeZone;
 
 import net.i2p.I2PAppContext;
 import net.i2p.app.ClientAppManager;
+import net.i2p.data.DataHelper;
 import net.i2p.router.news.NewsEntry;
 import net.i2p.router.news.NewsManager;
 
@@ -68,8 +69,12 @@ public class NewsFeedHelper extends HelperBase {
                     buf.append(fmt.format(date))
                        .append(": ");
                 }
-                buf.append(entry.title)
-                   .append("</h3>\n<div class=\"newscontent\">\n")
+                if (entry.link != null)
+                    buf.append("<a href=\"").append(DataHelper.escapeHTML(entry.link)).append("\">");
+                buf.append(entry.title);
+                if (entry.link != null)
+                    buf.append("</a>");
+                buf.append("</h3>\n<div class=\"newscontent\">\n")
                    .append(entry.content)
                    .append("\n</div></div>\n");
                 if (i >= start + max)