diff --git a/src/backoffice/locale/de/LC_MESSAGES/django.po b/src/backoffice/locale/de/LC_MESSAGES/django.po
index 2663d40fe29b63189dd8ff4d75f250f36bb56bf2..9850b08b075967a7f0cac12240802bcf3f6bb691 100644
--- a/src/backoffice/locale/de/LC_MESSAGES/django.po
+++ b/src/backoffice/locale/de/LC_MESSAGES/django.po
@@ -761,6 +761,10 @@ msgstr "Karte"
 msgid "nav_moderation"
 msgstr "Moderation"
 
+# Use translation from core
+msgid "Teams"
+msgstr ""
+
 msgid "nav_conference_admin"
 msgstr "Konferenz"
 
@@ -1443,10 +1447,6 @@ msgstr "Self-organized Session löschen"
 msgid "SoS__delete__introduction"
 msgstr "Hiermit wird diese Self-organized Session gelöscht. Wenn du sie nur unsichtbar machen möchtest gibt es weiter oben die Möglichkeit die Self-organized Session zurückzunehmen!"
 
-# use translation from core
-msgid "Teams"
-msgstr ""
-
 msgid "Team__name"
 msgstr "Name"
 
diff --git a/src/backoffice/locale/en/LC_MESSAGES/django.po b/src/backoffice/locale/en/LC_MESSAGES/django.po
index fda5d873cab00808d3dd803dc2fa9de41960d2a7..7ea574c3f4ac432de02cd461e49f284332519412 100644
--- a/src/backoffice/locale/en/LC_MESSAGES/django.po
+++ b/src/backoffice/locale/en/LC_MESSAGES/django.po
@@ -761,6 +761,10 @@ msgstr "map"
 msgid "nav_moderation"
 msgstr "moderation"
 
+# Use translation from core
+msgid "Teams"
+msgstr ""
+
 msgid "nav_conference_admin"
 msgstr "Conference"
 
@@ -1448,10 +1452,6 @@ msgstr "Delete self-organized session"
 msgid "SoS__delete__introduction"
 msgstr "This removes this self-organized session. If you only want to make it invisible, there is an option above to recall the self-organized session above!"
 
-# use translation from core
-msgid "Teams"
-msgstr ""
-
 msgid "Team__name"
 msgstr "name"
 
diff --git a/src/backoffice/templates/backoffice/base.html b/src/backoffice/templates/backoffice/base.html
index bc7ac4bce8883bbec2435707e06886584895d1c2..0c38c59cec2034fe3b68d5425635cf95eb23e0fc 100644
--- a/src/backoffice/templates/backoffice/base.html
+++ b/src/backoffice/templates/backoffice/base.html
@@ -96,6 +96,12 @@
               </a>
             </li>
           {% endif %}
+          <li class="nav-item">
+            <a class="nav-link{% if active_page == 'teams' %} active{% endif %}"
+               href="{% url 'backoffice:teams' %}">{% trans "Teams" %}
+              {% if active_page == 'teams' %}<span class="visually-hidden">{{ activetab_srmarker }}</span>{% endif %}
+            </a>
+          </li>
           {% if has_conference_admin or has_assembly_registration_admin %}
             <li class="nav-item">
               <a class="nav-link{% if active_page == 'conference_admin' %} active{% endif %}"
diff --git a/src/backoffice/views/teams/teams.py b/src/backoffice/views/teams/teams.py
index 82af22e2d5c6a9eaa01ce9001a9224113c4ec065..ffcfe4ad2f821391a6ef2ad8f16d7e850fbb4a5e 100644
--- a/src/backoffice/views/teams/teams.py
+++ b/src/backoffice/views/teams/teams.py
@@ -3,14 +3,65 @@ from typing import Any
 from django.contrib.postgres.aggregates.general import ArrayAgg
 from django.db.models import BooleanField, Case, Count, When
 from django.db.models.query import Q, QuerySet
+from django.urls import reverse
+from django.utils.translation import gettext as _
 from django.views.generic import ListView
 
 from core.models import ConferenceMember, Team
 
-from backoffice.views.mixins import ConferenceRuleLoginRequiredMixin
+from backoffice.views.mixins import ConferenceRuleLoginRequiredMixin, guess_active_sidebar_item
 
 
-class TeamListView(ConferenceRuleLoginRequiredMixin, ListView):
+class TeamNavContextMixin(ConferenceRuleLoginRequiredMixin):
+    def get_context_data(self, **kwargs) -> dict[str, Any]:
+        member = ConferenceMember.get_member(
+            conference=self.conference,
+            user=self.request.user,
+        )
+        teams = [
+            {
+                'caption': team['name'],
+                'link': reverse(
+                    'backoffice:team',
+                    kwargs={
+                        'uuid': team['uuid'],
+                    },
+                ),
+                'classes': [],
+            }
+            for team in Team.objects.all().values(
+                'uuid',
+                'name',
+                'require_staff',
+            )
+            if member.is_staff or not team['require_staff']
+        ]
+        team_entry = {
+            'caption': _('Teams'),
+            'link': reverse('backoffice:teams'),
+            'children': teams,
+            'count': len(teams),
+            'expanded': True,
+        }
+
+        context = {
+            **super().get_context_data(**kwargs),
+            'active_page': 'teams',
+            'sidebar': {
+                'title': _('Teams'),
+                'title_link': reverse('backoffice:teams'),
+                'items': [
+                    team_entry,
+                ],
+            },
+        }
+
+        guess_active_sidebar_item(self.request, context['sidebar']['items'])
+
+        return context
+
+
+class TeamListView(TeamNavContextMixin, ListView):
     model = Team
     template_name = 'backoffice/teams/list.html'
     context_object_name = 'teams'