diff --git a/core/java/src/net/i2p/data/DataHelper.java b/core/java/src/net/i2p/data/DataHelper.java
index cf99ea6f42a704f588fa4dcd2a34a2dcfefe112b..f3e4151c281a017d28b10354724e0146bf5a2a0c 100644
--- a/core/java/src/net/i2p/data/DataHelper.java
+++ b/core/java/src/net/i2p/data/DataHelper.java
@@ -1476,11 +1476,10 @@ public class DataHelper {
     public static String escapeHTML(String unescaped) {
         if (unescaped == null) return "";
         Map<String, String> map = new HashMap<String, String>();
-        map.put("&","&amp;");
         map.put("\"","&quot;");
         map.put("<","&lt;");
         map.put(">","&gt;");
-        String escaped = unescaped;
+        String escaped = unescaped.replaceAll("&","&amp;");
         for (Map.Entry<String, String> entry : map.entrySet()) {
             String k = entry.getKey();
             String v = entry.getValue();