diff --git a/src/components/navigation/filter.js b/src/components/navigation/filter.js
index 5474a8acd56a0bf8ad6946fe69e802dfbfa96b36..e8e77f8f027eeb5e45810056f45cadb5308714a7 100644
--- a/src/components/navigation/filter.js
+++ b/src/components/navigation/filter.js
@@ -2,7 +2,7 @@ export const filterNavigation = (list = [], { hasChats, hasAnnouncements, isFede
   return list.filter(({ criteria, anon, anonRoute }) => {
     const set = new Set(criteria || [])
     if (!isFederating && set.has('federating')) return false
-    if (isPrivate && set.has('!private')) return false
+    if (!currentUser && isPrivate && set.has('!private')) return false
     if (!currentUser && !(anon || anonRoute)) return false
     if ((!currentUser || !currentUser.locked) && set.has('lockedUser')) return false
     if (!hasChats && set.has('chats')) return false
diff --git a/src/components/navigation/navigation_pins.js b/src/components/navigation/navigation_pins.js
index 57b8d589c1d3572c5189f431a2ccd897a645484c..9dd795aa114e17010c38c89a01fd01ad32ced5c7 100644
--- a/src/components/navigation/navigation_pins.js
+++ b/src/components/navigation/navigation_pins.js
@@ -56,11 +56,17 @@ const NavPanel = {
     }),
     pinnedList () {
       if (!this.currentUser) {
-        return [
+        return filterNavigation([
           { ...TIMELINES.public, name: 'public' },
           { ...TIMELINES.twkn, name: 'twkn' },
           { ...ROOT_ITEMS.about, name: 'about' }
-        ]
+        ],
+        {
+          hasChats: this.pleromaChatMessagesAvailable,
+          isFederating: this.federating,
+          isPrivate: this.privateMode,
+          currentUser: this.currentUser
+        })
       }
       return filterNavigation(
         [
diff --git a/src/components/timeline_menu/timeline_menu.js b/src/components/timeline_menu/timeline_menu.js
index d74fbf4e26e684ffab577fb8a3b95ec16422cf89..5a2a86c2f88c18c25bf556ebc0f89709a525a722 100644
--- a/src/components/timeline_menu/timeline_menu.js
+++ b/src/components/timeline_menu/timeline_menu.js
@@ -1,8 +1,10 @@
 import Popover from '../popover/popover.vue'
 import NavigationEntry from 'src/components/navigation/navigation_entry.vue'
+import { mapState } from 'vuex'
 import { ListsMenuContent } from '../lists_menu/lists_menu_content.vue'
 import { library } from '@fortawesome/fontawesome-svg-core'
 import { TIMELINES } from 'src/components/navigation/navigation.js'
+import { filterNavigation } from 'src/components/navigation/filter.js'
 import {
   faChevronDown
 } from '@fortawesome/free-solid-svg-icons'
@@ -29,8 +31,7 @@ const TimelineMenu = {
   },
   data () {
     return {
-      isOpen: false,
-      timelinesList: Object.entries(TIMELINES).map(([k, v]) => ({ ...v, name: k }))
+      isOpen: false
     }
   },
   created () {
@@ -42,6 +43,22 @@ const TimelineMenu = {
     useListsMenu () {
       const route = this.$route.name
       return route === 'lists-timeline'
+    },
+    ...mapState({
+      currentUser: state => state.users.currentUser,
+      privateMode: state => state.instance.private,
+      federating: state => state.instance.federating
+    }),
+    timelinesList () {
+      return filterNavigation(
+        Object.entries(TIMELINES).map(([k, v]) => ({ ...v, name: k })),
+        {
+          hasChats: this.pleromaChatMessagesAvailable,
+          isFederating: this.federating,
+          isPrivate: this.privateMode,
+          currentUser: this.currentUser
+        }
+      )
     }
   },
   methods: {