diff --git a/application/television/src/main/java/org/videolan/television/ui/MainTvFragment.kt b/application/television/src/main/java/org/videolan/television/ui/MainTvFragment.kt
index 82568fd1f76d7bf239df68667e7199ca766d71e6..8f6b87be852fc6da68b35a947380a0ea9aa94f73 100644
--- a/application/television/src/main/java/org/videolan/television/ui/MainTvFragment.kt
+++ b/application/television/src/main/java/org/videolan/television/ui/MainTvFragment.kt
@@ -269,6 +269,11 @@ class MainTvFragment : BrowseSupportFragment(), OnItemViewSelectedListener, OnIt
         registerDatasets()
     }
 
+    override fun onResume() {
+        super.onResume()
+        badgeDrawable = ContextCompat.getDrawable(requireContext(), if (Settings.incognitoMode) R.drawable.ic_incognito else R.drawable.icon)
+    }
+
     private fun manageDonationVisibility(donateCard: GenericCardItem) {
         if (activity == null) return
         otherAdapter.remove(donateCard)
diff --git a/application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesUi.kt b/application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesUi.kt
index 433e7c61e4e0b0daa46dac806801a51f68ca7ee7..46046a23c1f840b6257bf762437e4d819828f228 100644
--- a/application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesUi.kt
+++ b/application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesUi.kt
@@ -40,6 +40,7 @@ import org.videolan.resources.AppContextProvider
 import org.videolan.television.ui.browser.REQUEST_CODE_RESTART_APP
 import org.videolan.television.ui.dialogs.ConfirmationTvActivity
 import org.videolan.tools.BROWSER_SHOW_HIDDEN_FILES
+import org.videolan.tools.KEY_INCOGNITO
 import org.videolan.tools.KEY_SHOW_HEADERS
 import org.videolan.tools.LocaleUtils
 import org.videolan.tools.PLAYLIST_MODE_VIDEO
@@ -114,6 +115,9 @@ class PreferencesUi : BasePreferenceFragment(), SharedPreferences.OnSharedPrefer
                 Settings.tvUI = sharedPreferences.getBoolean(PREF_TV_UI, false)
                 (activity as PreferencesActivity).setRestartApp()
             }
+            KEY_INCOGNITO -> {
+                Settings.incognitoMode = sharedPreferences.getBoolean(KEY_INCOGNITO, false)
+            }
 
             TV_FOLDERS_FIRST -> Settings.tvFoldersFirst = sharedPreferences.getBoolean(TV_FOLDERS_FIRST, true)
             BROWSER_SHOW_HIDDEN_FILES -> Settings.showHiddenFiles = sharedPreferences.getBoolean(BROWSER_SHOW_HIDDEN_FILES, false)
diff --git a/application/vlc-android/res/xml/preferences_ui.xml b/application/vlc-android/res/xml/preferences_ui.xml
index c6f4baebd640acf946c5dbcf338cc331a75bc04c..3a151b0555d24216f58aee82f61b428e9fd0f1bc 100644
--- a/application/vlc-android/res/xml/preferences_ui.xml
+++ b/application/vlc-android/res/xml/preferences_ui.xml
@@ -70,9 +70,16 @@
             android:key="default_sleep_timer"
             android:title="@string/sleep_title"/>
 
+    <CheckBoxPreference
+            app:singleLineTitle="false"
+            android:key="incognito_mode"
+            android:defaultValue="false"
+            android:title="@string/incognito_mode"/>
+
     <CheckBoxPreference
             app:singleLineTitle="false"
             android:key="persistent_incognito"
+            android:dependency="incognito_mode"
             android:defaultValue="true"
             android:summary="@string/persistent_incognito_mode_summary"
             android:title="@string/persistent_incognito_mode"/>
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferenceVisibilityManager.kt b/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferenceVisibilityManager.kt
index 136daf8904b3b95117f5fc211a6c7cd32e5a4c9b..d3ab707a309169b89deaca7cd4ec5f868b9c51e0 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferenceVisibilityManager.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferenceVisibilityManager.kt
@@ -34,7 +34,7 @@ import org.videolan.tools.AUDIO_DUCKING
 import org.videolan.tools.BROWSER_SHOW_HIDDEN_FILES
 import org.videolan.tools.KEY_AOUT
 import org.videolan.tools.KEY_APP_THEME
-import org.videolan.tools.KEY_PERSISTENT_INCOGNITO
+import org.videolan.tools.KEY_INCOGNITO
 import org.videolan.tools.KEY_QUICK_PLAY
 import org.videolan.tools.KEY_QUICK_PLAY_DEFAULT
 import org.videolan.tools.LIST_TITLE_ELLIPSIZE
@@ -64,7 +64,7 @@ object PreferenceVisibilityManager {
         //hidden on TV
         KEY_QUICK_PLAY_DEFAULT, KEY_QUICK_PLAY, "secondary_display_category", "secondary_display_category_summary", "enable_clone_mode", SAVE_BRIGHTNESS,
         KEY_APP_THEME, LIST_TITLE_ELLIPSIZE, "enable_headset_detection", "enable_play_on_headset_insertion", "ignore_headset_media_button_presses",
-        "headset_prefs_category", KEY_PERSISTENT_INCOGNITO, "audio_resume_card", LOCKSCREEN_COVER, SHOW_SEEK_IN_COMPACT_NOTIFICATION,
+        "headset_prefs_category", "audio_resume_card", LOCKSCREEN_COVER, SHOW_SEEK_IN_COMPACT_NOTIFICATION,
         "audio_task_removed"-> !forTv
         //only on TV
         TV_FOLDERS_FIRST, BROWSER_SHOW_HIDDEN_FILES, PLAYLIST_MODE_VIDEO, PLAYLIST_MODE_AUDIO -> forTv