diff --git a/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/action/AddStandardComment.java b/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/action/AddStandardComment.java
index d9f3479..2a3bbeb 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/action/AddStandardComment.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/action/AddStandardComment.java
@@ -60,9 +60,9 @@
     if (!reason.isEmpty()) {
       ret += "\n\nReason:\n" + reason;
     }
-    String url = Strings.nullToEmpty(map.get("changeUrl"));
+    String url = Strings.nullToEmpty(map.get("formatChangeUrl"));
     if (!url.isEmpty()) {
-      ret += "\n\n" + its.createLinkForWebui(url, url);
+      ret += "\n\n" + url;
     }
     return ret;
   }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/its/base/workflow/action/AddStandardCommentTest.java b/src/test/java/com/googlesource/gerrit/plugins/its/base/workflow/action/AddStandardCommentTest.java
index cfcda01..6154133 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/its/base/workflow/action/AddStandardCommentTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/its/base/workflow/action/AddStandardCommentTest.java
@@ -74,13 +74,10 @@
     properties.add(propertySubmitterName);
 
     Property propertyChangeUrl = createMock(Property.class);
-    expect(propertyChangeUrl.getKey()).andReturn("changeUrl").anyTimes();
-    expect(propertyChangeUrl.getValue()).andReturn("http://example.org/change").anyTimes();
+    expect(propertyChangeUrl.getKey()).andReturn("formatChangeUrl").anyTimes();
+    expect(propertyChangeUrl.getValue()).andReturn("HtTp://ExAmPlE.OrG/ChAnGe").anyTimes();
     properties.add(propertyChangeUrl);
 
-    expect(its.createLinkForWebui("http://example.org/change", "http://example.org/change"))
-        .andReturn("HtTp://ExAmPlE.OrG/ChAnGe");
-
     its.addComment(
         "176",
         "Change 4711 merged by John Doe:\n"
@@ -141,13 +138,10 @@
     properties.add(propertySubmitterName);
 
     Property propertyChangeUrl = createMock(Property.class);
-    expect(propertyChangeUrl.getKey()).andReturn("changeUrl").anyTimes();
-    expect(propertyChangeUrl.getValue()).andReturn("http://example.org/change").anyTimes();
+    expect(propertyChangeUrl.getKey()).andReturn("formatChangeUrl").anyTimes();
+    expect(propertyChangeUrl.getValue()).andReturn("HtTp://ExAmPlE.OrG/ChAnGe").anyTimes();
     properties.add(propertyChangeUrl);
 
-    expect(its.createLinkForWebui("http://example.org/change", "http://example.org/change"))
-        .andReturn("HtTp://ExAmPlE.OrG/ChAnGe");
-
     its.addComment(
         "176",
         "Change 4711 abandoned by John Doe:\n"
@@ -211,13 +205,10 @@
     properties.add(propertySubmitterName);
 
     Property propertyChangeUrl = createMock(Property.class);
-    expect(propertyChangeUrl.getKey()).andReturn("changeUrl").anyTimes();
-    expect(propertyChangeUrl.getValue()).andReturn("http://example.org/change").anyTimes();
+    expect(propertyChangeUrl.getKey()).andReturn("formatChangeUrl").anyTimes();
+    expect(propertyChangeUrl.getValue()).andReturn("HtTp://ExAmPlE.OrG/ChAnGe").anyTimes();
     properties.add(propertyChangeUrl);
 
-    expect(its.createLinkForWebui("http://example.org/change", "http://example.org/change"))
-        .andReturn("HtTp://ExAmPlE.OrG/ChAnGe");
-
     its.addComment(
         "176",
         "Change 4711 restored by John Doe:\n"
@@ -276,13 +267,10 @@
     properties.add(propertySubmitterName);
 
     Property propertyChangeUrl = createMock(Property.class);
-    expect(propertyChangeUrl.getKey()).andReturn("changeUrl").anyTimes();
-    expect(propertyChangeUrl.getValue()).andReturn("http://example.org/change").anyTimes();
+    expect(propertyChangeUrl.getKey()).andReturn("formatChangeUrl").anyTimes();
+    expect(propertyChangeUrl.getValue()).andReturn("HtTp://ExAmPlE.OrG/ChAnGe").anyTimes();
     properties.add(propertyChangeUrl);
 
-    expect(its.createLinkForWebui("http://example.org/change", "http://example.org/change"))
-        .andReturn("HtTp://ExAmPlE.OrG/ChAnGe");
-
     its.addComment(
         "176",
         "Change 4711 had a related patch set uploaded by "
