diff --git a/polygerrit-ui/app/elements/admin/gr-project-detail-list/gr-project-detail-list.html b/polygerrit-ui/app/elements/admin/gr-project-detail-list/gr-project-detail-list.html
index 7e1fe48..193e48d 100644
--- a/polygerrit-ui/app/elements/admin/gr-project-detail-list/gr-project-detail-list.html
+++ b/polygerrit-ui/app/elements/admin/gr-project-detail-list/gr-project-detail-list.html
@@ -39,7 +39,6 @@
       .editing .editBtn,
       .canEdit .revisionNoEditing,
       .editing .revisionWithEditing,
-      .repositoryBrowser:not(.show),
       .revisionEdit {
         display: none;
       }
@@ -72,7 +71,7 @@
         <tr class="headerRow">
           <th class="name topHeader">Name</th>
           <th class="description topHeader">Revision</th>
-          <th class$="repositoryBrowser topHeader [[computeBrowserClass(detailType)]]">
+          <th class="repositoryBrowser topHeader">
             Repository Browser</th>
           <th class="delete topHeader"></th>
         </tr>
@@ -113,7 +112,7 @@
                   </gr-button>
                 </span>
               </td>
-              <td class$="repositoryBrowser [[computeBrowserClass(detailType)]]">
+              <td class="repositoryBrowser">
                 <template is="dom-repeat"
                     items="[[_computeWeblink(item)]]" as="link">
                   <a href$="[[link.url]]"
diff --git a/polygerrit-ui/app/elements/admin/gr-project-detail-list/gr-project-detail-list.js b/polygerrit-ui/app/elements/admin/gr-project-detail-list/gr-project-detail-list.js
index 257be72..b155090 100644
--- a/polygerrit-ui/app/elements/admin/gr-project-detail-list/gr-project-detail-list.js
+++ b/polygerrit-ui/app/elements/admin/gr-project-detail-list/gr-project-detail-list.js
@@ -139,13 +139,6 @@
       return webLinks.length ? webLinks : null;
     },
 
-    computeBrowserClass(detailType) {
-      if (detailType === DETAIL_TYPES.BRANCHES) {
-        return 'show';
-      }
-      return '';
-    },
-
     _stripRefs(item, detailType) {
       if (detailType === DETAIL_TYPES.BRANCHES) {
         return item.replace('refs/heads/', '');
diff --git a/polygerrit-ui/app/elements/admin/gr-project-detail-list/gr-project-detail-list_test.html b/polygerrit-ui/app/elements/admin/gr-project-detail-list/gr-project-detail-list_test.html
index f04e4c1..c424808 100644
--- a/polygerrit-ui/app/elements/admin/gr-project-detail-list/gr-project-detail-list_test.html
+++ b/polygerrit-ui/app/elements/admin/gr-project-detail-list/gr-project-detail-list_test.html
@@ -50,6 +50,12 @@
     return {
       ref: `refs/tags/test${++counter}`,
       revision: '9c9d08a438e55e52f33b608415e6dddd9b18550d',
+      web_links: [
+        {
+          name: 'diffusion',
+          url: `https://git.example.org/tag/test;refs/tags/test${counter}`,
+        },
+      ],
     };
   };
 
@@ -90,14 +96,14 @@
         element._paramsChanged(params).then(() => { flush(done); });
       });
 
-      test('test for test branch in the list', done => {
+      test('test for branch in the list', done => {
         flush(() => {
           assert.equal(element._items[2].ref, 'refs/heads/test2');
           done();
         });
       });
 
-      test('test for test web links in the branches list', done => {
+      test('test for web links in the branches list', done => {
         flush(() => {
           assert.equal(element._items[2].web_links[0].url,
               'https://git.example.org/branch/test;refs/heads/test2');
@@ -332,13 +338,21 @@
         element._paramsChanged(params).then(() => { flush(done); });
       });
 
-      test('test for test tag in the list', done => {
+      test('test for tag in the list', done => {
         flush(() => {
           assert.equal(element._items[1].ref, 'refs/tags/test2');
           done();
         });
       });
 
+      test('test for web links in the tags list', done => {
+        flush(() => {
+          assert.equal(element._items[1].web_links[0].url,
+              'https://git.example.org/tag/test;refs/tags/test2');
+          done();
+        });
+      });
+
       test('test for refs/tags/ being striped from ref', done => {
         flush(() => {
           assert.equal(element._stripRefs(element._items[1].ref,
