diff --git a/core/tests/Drupal/Nightwatch/Tests/oliveroTabsTest.js b/core/tests/Drupal/Nightwatch/Tests/oliveroTabsTest.js
new file mode 100644
index 0000000000..9ccb0d6a1e
--- /dev/null
+++ b/core/tests/Drupal/Nightwatch/Tests/oliveroTabsTest.js
@@ -0,0 +1,24 @@
+module.exports = {
+  '@tags': ['core', 'olivero'],
+  before(browser) {
+    browser.drupalInstall({
+      setupFile:
+        'core/tests/Drupal/TestSite/TestSiteOliveroInstallTestScript.php',
+      installProfile: 'minimal',
+    });
+    browser.resizeWindow(1600, 800);
+  },
+  after(browser) {
+    browser.drupalUninstall();
+  },
+  'Verify Olivero desktop menu click functionality': (browser) => {
+    browser
+      .drupalRelativeURL('/user/register')
+      .waitForElementVisible('.tabs--primary')
+      .assert.visible('.tabs__tab--active-original')
+      .assert.not.visible('.tabs__tab--active-clone')
+      .resizeWindow(600, 800)
+      .assert.not.visible('.tabs__tab--active-original')
+      .assert.visible('.tabs__tab--active-clone');
+  },
+};
diff --git a/core/themes/olivero/css/components/tabs.css b/core/themes/olivero/css/components/tabs.css
index 2ccfec6cea..d4aeed625a 100644
--- a/core/themes/olivero/css/components/tabs.css
+++ b/core/themes/olivero/css/components/tabs.css
@@ -59,6 +59,24 @@
     margin-bottom: -1px
 }
   }
+/* Hide clone of active tab at wider viewports. */
+@media (min-width: 43.75rem) {
+.tabs__tab--active-clone.is-active {
+    display: none
+}
+  }
+/* Hide original active tab at narrow viewports. Additional specificity
+ is required to override state selectors. */
+.tabs__tab.tabs__tab--active-original,
+.tabs.is-expanded .tabs__tab.tabs__tab--active-original {
+  display: none
+}
+@media (min-width: 43.75rem) {
+.tabs__tab.tabs__tab--active-original,
+.tabs.is-expanded .tabs__tab.tabs__tab--active-original {
+    display: flex
+}
+  }
 html:not(.js) .tabs__tab,
 .tabs.is-expanded .tabs__tab {
   display: flex;
diff --git a/core/themes/olivero/css/components/tabs.pcss.css b/core/themes/olivero/css/components/tabs.pcss.css
index 44f3df58a7..8841d4ec6c 100644
--- a/core/themes/olivero/css/components/tabs.pcss.css
+++ b/core/themes/olivero/css/components/tabs.pcss.css
@@ -38,6 +38,24 @@
   }
 }
 
+/* Hide clone of active tab at wider viewports. */
+.tabs__tab--active-clone.is-active {
+  @media (--md) {
+    display: none;
+  }
+}
+
+/* Hide original active tab at narrow viewports. Additional specificity
+ is required to override state selectors. */
+.tabs__tab.tabs__tab--active-original,
+.tabs.is-expanded .tabs__tab.tabs__tab--active-original {
+  display: none;
+
+  @media (--md) {
+    display: flex;
+  }
+}
+
 html:not(.js) .tabs__tab,
 .tabs.is-expanded .tabs__tab {
   display: flex;
diff --git a/core/themes/olivero/js/tabs.es6.js b/core/themes/olivero/js/tabs.es6.js
index b5c1232aa8..17ecc73b6e 100644
--- a/core/themes/olivero/js/tabs.es6.js
+++ b/core/themes/olivero/js/tabs.es6.js
@@ -4,10 +4,6 @@
     const expandedClass = 'is-expanded';
     const activeTab = tabs.querySelector('.is-active');
 
-    function isTabsMobileLayout() {
-      return tabs.querySelector('.tabs__trigger').clientHeight > 0;
-    }
-
     function handleTriggerClick(e) {
       if (!tabs.classList.contains(expandedClass)) {
         e.currentTarget.setAttribute('aria-expanded', 'true');
@@ -18,11 +14,13 @@
       }
     }
 
-    if (isTabsMobileLayout() && !activeTab.matches('.tabs__tab:first-child')) {
-      const newActiveTab = activeTab.cloneNode(true);
+    if (!activeTab.matches('.tabs__tab:first-child')) {
+      const activeTabClone = activeTab.cloneNode(true);
       const firstTab = tabs.querySelector('.tabs__tab:first-child');
-      tabs.insertBefore(newActiveTab, firstTab);
-      tabs.removeChild(activeTab);
+
+      activeTabClone.classList.add('tabs__tab--active-clone');
+      tabs.insertBefore(activeTabClone, firstTab);
+      activeTab.classList.add('tabs__tab--active-original');
     }
 
     tabs
diff --git a/core/themes/olivero/js/tabs.js b/core/themes/olivero/js/tabs.js
index 6932f9b405..c334bf0c82 100644
--- a/core/themes/olivero/js/tabs.js
+++ b/core/themes/olivero/js/tabs.js
@@ -11,10 +11,6 @@
     var expandedClass = 'is-expanded';
     var activeTab = tabs.querySelector('.is-active');
 
-    function isTabsMobileLayout() {
-      return tabs.querySelector('.tabs__trigger').clientHeight > 0;
-    }
-
     function handleTriggerClick(e) {
       if (!tabs.classList.contains(expandedClass)) {
         e.currentTarget.setAttribute('aria-expanded', 'true');
@@ -25,11 +21,12 @@
       }
     }
 
-    if (isTabsMobileLayout() && !activeTab.matches('.tabs__tab:first-child')) {
-      var newActiveTab = activeTab.cloneNode(true);
+    if (!activeTab.matches('.tabs__tab:first-child')) {
+      var activeTabClone = activeTab.cloneNode(true);
       var firstTab = tabs.querySelector('.tabs__tab:first-child');
-      tabs.insertBefore(newActiveTab, firstTab);
-      tabs.removeChild(activeTab);
+      activeTabClone.classList.add('tabs__tab--active-clone');
+      tabs.insertBefore(activeTabClone, firstTab);
+      activeTab.classList.add('tabs__tab--active-original');
     }
 
     tabs.querySelector('.tabs__trigger').addEventListener('click', handleTriggerClick);
