diff --git a/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view.ts b/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view.ts
index eef2a44..8cadd23 100644
--- a/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view.ts
+++ b/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view.ts
@@ -17,7 +17,6 @@
 import '../gr-repo-dashboards/gr-repo-dashboards';
 import '../gr-repo-detail-list/gr-repo-detail-list';
 import '../gr-repo-list/gr-repo-list';
-import {getBaseUrl} from '../../../utils/url-util';
 import {navigationToken} from '../../core/gr-navigation/gr-navigation';
 import {
   AccountDetailInfo,
@@ -598,12 +597,7 @@
 
   // private but used in test
   computeLinkURL(link?: NavLink | SubsectionInterface) {
-    if (!link || typeof link.url === 'undefined') return '';
-
-    if ((link as NavLink).target || !(link as NavLink).noBaseUrl) {
-      return link.url;
-    }
-    return `//${window.location.host}${getBaseUrl()}${link.url}`;
+    return link?.url || '';
   }
 
   private computeSelectedClass(
diff --git a/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view_test.ts b/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view_test.ts
index ee4a179..1d456c9 100644
--- a/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view_test.ts
+++ b/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view_test.ts
@@ -6,7 +6,7 @@
 import '../../../test/common-test-setup';
 import './gr-admin-view';
 import {AdminSubsectionLink, GrAdminView} from './gr-admin-view';
-import {stubBaseUrl, stubElement, stubRestApi} from '../../../test/test-utils';
+import {stubElement, stubRestApi} from '../../../test/test-utils';
 import {GerritView} from '../../../services/router/router-model';
 import {query, queryAll, queryAndAssert} from '../../../test/test-utils';
 import {GrRepoList} from '../gr-repo-list/gr-repo-list';
@@ -47,29 +47,9 @@
   });
 
   test('link URLs', () => {
-    assert.equal(
-      element.computeLinkURL({name: '', url: '/test', noBaseUrl: true}),
-      '//' + window.location.host + '/test'
-    );
-
-    stubBaseUrl('/foo');
-    assert.equal(
-      element.computeLinkURL({name: '', url: '/test', noBaseUrl: true}),
-      '//' + window.location.host + '/foo/test'
-    );
-    assert.equal(
-      element.computeLinkURL({name: '', url: '/test', noBaseUrl: false}),
-      '/test'
-    );
-    assert.equal(
-      element.computeLinkURL({
-        name: '',
-        url: '/test',
-        target: '_blank',
-        noBaseUrl: false,
-      }),
-      '/test'
-    );
+    assert.equal(element.computeLinkURL({name: '', url: '/test'}), '/test');
+    assert.equal(element.computeLinkURL({name: '', url: ''}), '');
+    assert.equal(element.computeLinkURL(undefined), '');
   });
 
   test('current page gets selected and is displayed', async () => {
@@ -78,7 +58,6 @@
         name: 'Repositories',
         url: '/admin/repos',
         view: 'gr-repo-list' as GerritView,
-        noBaseUrl: false,
       },
     ];
 
@@ -154,7 +133,6 @@
         capability: undefined,
         url: '/internal/link/url',
         name: 'internal link text',
-        noBaseUrl: true,
         view: undefined,
         viewableToAll: true,
         target: null,
@@ -163,7 +141,6 @@
         capability: undefined,
         url: 'http://external/link/url',
         name: 'external link text',
-        noBaseUrl: false,
         view: undefined,
         viewableToAll: true,
         target: '_blank',
@@ -345,7 +322,6 @@
     const expectedFilteredLinks = [
       {
         name: 'Repositories',
-        noBaseUrl: true,
         url: '/admin/repos',
         view: 'gr-repo-list' as GerritView,
         viewableToAll: true,
@@ -395,7 +371,6 @@
       {
         name: 'Groups',
         section: 'Groups',
-        noBaseUrl: true,
         url: '/admin/groups',
         view: 'gr-admin-group-list' as GerritView,
       },
@@ -403,7 +378,6 @@
         name: 'Plugins',
         capability: 'viewPlugins',
         section: 'Plugins',
-        noBaseUrl: true,
         url: '/admin/plugins',
         view: 'gr-plugin-list' as GerritView,
       },
@@ -540,29 +514,17 @@
           <gr-page-nav class="navStyles">
             <ul class="sectionContent">
               <li class="sectionTitle selected">
-                <a
-                  class="title"
-                  href="//localhost:9876/admin/repos"
-                  rel="noopener"
-                >
+                <a class="title" href="/admin/repos" rel="noopener">
                   Repositories
                 </a>
               </li>
               <li class="sectionTitle">
-                <a
-                  class="title"
-                  href="//localhost:9876/admin/groups"
-                  rel="noopener"
-                >
+                <a class="title" href="/admin/groups" rel="noopener">
                   Groups
                 </a>
               </li>
               <li class="sectionTitle">
-                <a
-                  class="title"
-                  href="//localhost:9876/admin/plugins"
-                  rel="noopener"
-                >
+                <a class="title" href="/admin/plugins" rel="noopener">
                   Plugins
                 </a>
               </li>
diff --git a/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header_test.ts b/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header_test.ts
index 155ba10..b23f9bc 100644
--- a/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header_test.ts
+++ b/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header_test.ts
@@ -159,7 +159,6 @@
       {
         name: 'Repos',
         url: '/repos',
-        noBaseUrl: true,
         view: undefined,
       },
     ];
@@ -233,7 +232,6 @@
       {
         name: 'Repos',
         url: '/repos',
-        noBaseUrl: true,
         view: undefined,
       },
     ];
@@ -280,7 +278,6 @@
       {
         name: 'Repos',
         url: '/repos',
-        noBaseUrl: true,
         view: undefined,
       },
     ];
@@ -332,7 +329,6 @@
       {
         name: 'Repos',
         url: '/repos',
-        noBaseUrl: true,
         view: undefined,
       },
     ];
@@ -494,7 +490,6 @@
       {
         name: 'Repos',
         url: '/repos',
-        noBaseUrl: true,
         view: undefined,
       },
     ];
diff --git a/polygerrit-ui/app/models/views/admin.ts b/polygerrit-ui/app/models/views/admin.ts
index 37b0c15..017470e 100644
--- a/polygerrit-ui/app/models/views/admin.ts
+++ b/polygerrit-ui/app/models/views/admin.ts
@@ -38,7 +38,6 @@
 
 export interface NavLink {
   name: string;
-  noBaseUrl: boolean;
   url: string;
   view?: GerritView | AdminChildView;
   viewableToAll?: boolean;
@@ -68,7 +67,6 @@
 const ADMIN_LINKS: NavLink[] = [
   {
     name: 'Repositories',
-    noBaseUrl: true,
     url: createAdminUrl({adminView: AdminChildView.REPOS}),
     view: 'gr-repo-list' as GerritView,
     viewableToAll: true,
@@ -76,7 +74,6 @@
   {
     name: 'Groups',
     section: 'Groups',
-    noBaseUrl: true,
     url: createAdminUrl({adminView: AdminChildView.GROUPS}),
     view: 'gr-admin-group-list' as GerritView,
   },
@@ -84,7 +81,6 @@
     name: 'Plugins',
     capability: 'viewPlugins',
     section: 'Plugins',
-    noBaseUrl: true,
     url: createAdminUrl({adminView: AdminChildView.PLUGINS}),
     view: 'gr-plugin-list' as GerritView,
   },
@@ -94,7 +90,6 @@
   url: string;
   text: string;
   capability: string | null;
-  noBaseUrl: boolean;
   view: null;
   viewableToAll: boolean;
   target: '_blank' | null;
@@ -142,7 +137,6 @@
         url: link.url,
         name: link.text,
         capability: link.capability || undefined,
-        noBaseUrl: !isExternalLink(link),
         view: undefined,
         viewableToAll: !link.capability,
         target: isExternalLink(link) ? '_blank' : null,
