diff --git a/polygerrit-ui/app/elements/shared/gr-linked-text/gr-linked-text.js b/polygerrit-ui/app/elements/shared/gr-linked-text/gr-linked-text.js
index 10f7ed6..f970734 100644
--- a/polygerrit-ui/app/elements/shared/gr-linked-text/gr-linked-text.js
+++ b/polygerrit-ui/app/elements/shared/gr-linked-text/gr-linked-text.js
@@ -79,10 +79,11 @@
       // Ensure that external links originating from HTML commentlink configs
       // open in a new tab. @see Issue 5567
       // Ensure links to the same host originating from commentlink configs
-      // open in the same tab. @see Issue 4616
+      // open in the same tab. When target is not set - default is _self
+      // @see Issue 4616
       output.querySelectorAll('a').forEach(anchor => {
         if (anchor.hostname === window.location.hostname) {
-          anchor.setAttribute('target', '_self');
+          anchor.removeAttribute('target');
         } else {
           anchor.setAttribute('target', '_blank');
         }
diff --git a/polygerrit-ui/app/elements/shared/gr-linked-text/gr-linked-text_test.html b/polygerrit-ui/app/elements/shared/gr-linked-text/gr-linked-text_test.html
index ff94bc7..8a225f3 100644
--- a/polygerrit-ui/app/elements/shared/gr-linked-text/gr-linked-text_test.html
+++ b/polygerrit-ui/app/elements/shared/gr-linked-text/gr-linked-text_test.html
@@ -146,7 +146,7 @@
       const linkEl = element.$.output.childNodes[1];
       assert.equal(textNode.textContent, prefix);
       const url = '/q/' + changeID;
-      assert.equal(linkEl.target, '_self');
+      assert.isFalse(linkEl.hasAttribute('target'));
       // Since url is a path, the host is added automatically.
       assert.isTrue(linkEl.href.endsWith(url));
       assert.equal(linkEl.textContent, changeID);
@@ -164,7 +164,7 @@
       const linkEl = element.$.output.childNodes[1];
       assert.equal(textNode.textContent, prefix);
       const url = '/r/q/' + changeID;
-      assert.equal(linkEl.target, '_self');
+      assert.isFalse(linkEl.hasAttribute('target'));
       // Since url is a path, the host is added automatically.
       assert.isTrue(linkEl.href.endsWith(url));
       assert.equal(linkEl.textContent, changeID);
@@ -205,7 +205,7 @@
 
       assert.equal(textNode.textContent, prefix);
 
-      assert.equal(changeLinkEl.target, '_self');
+      assert.isFalse(changeLinkEl.hasAttribute('target'));
       assert.isTrue(changeLinkEl.href.endsWith(changeUrl));
       assert.equal(changeLinkEl.textContent, changeID);
 
