diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/ReflectingStringEscaper.java b/common/source/java/ch/systemsx/cisd/common/utilities/ReflectingStringEscaper.java
index fee68b0dde03e3329af6a8a8ac22c4d9952ff81c..b60a47d4a5964368194a719abe0434f415c96db1 100644
--- a/common/source/java/ch/systemsx/cisd/common/utilities/ReflectingStringEscaper.java
+++ b/common/source/java/ch/systemsx/cisd/common/utilities/ReflectingStringEscaper.java
@@ -157,10 +157,24 @@ class ReflectingStringEscaperUnrestricted<T> extends ReflectingStringEscaperImpl
     private static class Visitor implements ReflectionStringTraverser.ReflectionFieldVisitor
     {
 
+        private final HashSet<String> unescapedProperties;
+
+        private Visitor()
+        {
+            unescapedProperties = new HashSet<String>();
+            // Don't escape these properties
+            unescapedProperties.add("permlink");
+        }
+
         public String tryVisit(String value, Object object, Field fieldOrNull)
         {
-            // Only change the value if the name of the field is in the list provided
             if (null == fieldOrNull)
+            {
+                return StringEscapeUtils.escapeHtml(value);
+            }
+
+            // Don't escape the ones that are specified as not to be escaped
+            if (unescapedProperties.contains(fieldOrNull.getName()))
             {
                 return null;
             }