diff --git a/lib/classes/sidebar/Sidebar.php b/lib/classes/sidebar/Sidebar.php
index 65fc62d896e23f0957c3dcc344d5ee34ee2838c4..ba1e609d2c1673f7ffc10158ae187f11f5e91ab9 100644
--- a/lib/classes/sidebar/Sidebar.php
+++ b/lib/classes/sidebar/Sidebar.php
@@ -186,7 +186,7 @@ class Sidebar extends WidgetContainer
         static $actions_widget_added = false;
 
 
-        if ($widget instanceof NavigationWidget && !$navigation_widget_added) {
+        if ($widget instanceof NavigationWidget && !$navigation_widget_added && $widget->hasElements()) {
             SkipLinks::addIndex(
                 _('Dritte Navigationsebene'),
                 $widget->getId(),
@@ -197,7 +197,7 @@ class Sidebar extends WidgetContainer
             $navigation_widget_added = true;
         }
 
-        if ($widget instanceof ActionsWidget && !$actions_widget_added) {
+        if ($widget instanceof ActionsWidget && !$actions_widget_added && $widget->hasElements()) {
             if (!$widget->getId()) {
                 $widget->setId('sidebar-actions');
             }
diff --git a/templates/header.php b/templates/header.php
index b875038955688f8c40469e368db9abfde2204fb2..711d51785d2d3470e535e75817b8b8215312ea4e 100644
--- a/templates/header.php
+++ b/templates/header.php
@@ -216,7 +216,9 @@ if ($navigation) {
 
     <!-- Main navigation and right-hand logo -->
     <nav id="navigation-level-1" aria-label="<?= _('Hauptnavigation') ?>">
-        <? SkipLinks::addIndex(_('Hauptnavigation'), 'navigation-level-1', 2, false); ?>
+        <? if (!empty($header_nav['visible'])) : ?>
+            <? SkipLinks::addIndex(_('Hauptnavigation'), 'navigation-level-1', 2, false) ?>
+        <? endif ?>
         <ul id="navigation-level-1-items" <? if (count($header_nav['hidden']) > 0) echo 'class="overflown"'; ?>>
         <? foreach ($header_nav['visible'] as $path => $nav): ?>
             <?= $this->render_partial(
@@ -297,10 +299,12 @@ if ($navigation) {
                 </div>
             <? endif ?>
 
-            <? SkipLinks::addIndex(_('Zweite Navigationsebene'), 'navigation-level-2', 910) ?>
             <nav id="navigation-level-2" aria-label="<?= _('Zweite Navigationsebene') ?>">
 
                 <? if (PageLayout::isHeaderEnabled() /*&& isset($navigation)*/) : ?>
+                    <? if (!empty($navigation)) : ?>
+                        <? SkipLinks::addIndex(_('Zweite Navigationsebene'), 'navigation-level-2', 910) ?>
+                    <? endif ?>
                     <?= $this->render_partial('tabs', compact('navigation')) ?>
                 <? endif; ?>
             </nav>
diff --git a/templates/tabs.php b/templates/tabs.php
index 987e0fd1b1620fe1daa9e4c7f9015d2daf84af9d..24597cb4e95e7df5db53ca7913dc0a1c7340871b 100644
--- a/templates/tabs.php
+++ b/templates/tabs.php
@@ -7,10 +7,10 @@ foreach (Navigation::getItem("/")->getSubNavigation() as $path => $nav) {
 }
 ?>
 <div class="tabs_wrapper">
-    <? SkipLinks::addIndex(_('Zweite Navigationsebene'), 'navigation-level-2', 10, false); ?>
     <ul id="tabs">
         <? if (!empty($navigation)): ?>
-        <? foreach ($navigation as $path => $nav) : ?>
+            <? SkipLinks::addIndex(_('Zweite Navigationsebene'), 'navigation-level-2', 10, false); ?>
+            <? foreach ($navigation as $path => $nav) : ?>
             <? if ($nav->isVisible()) : ?>
                 <li id="nav_<?= $path1 ?? '' ?>_<?= $path ?>"<?= $nav->isActive() ? ' class="current"' : '' ?>>
                     <? if ($nav->isEnabled()): ?>