diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 7b79611..a418dac 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1321,7 +1321,7 @@
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                        android:value="com.android.settings.notification.modes.ZenModesListFragment"/>
             <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
-                       android:value="@string/menu_key_notifications"/>
+                       android:value="@string/menu_key_priority_modes" />
             <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                        android:value="true" />
         </activity>
diff --git a/res/values/menu_keys.xml b/res/values/menu_keys.xml
index 27e9639..36fdb81 100755
--- a/res/values/menu_keys.xml
+++ b/res/values/menu_keys.xml
@@ -24,6 +24,7 @@
     <string name="menu_key_battery" translatable="false">top_level_battery</string>
     <string name="menu_key_storage" translatable="false">top_level_storage</string>
     <string name="menu_key_sound" translatable="false">top_level_sound</string>
+    <string name="menu_key_priority_modes" translatable="false">top_level_priority_modes</string>
     <string name="menu_key_display" translatable="false">top_level_display</string>
     <string name="menu_key_wallpaper" translatable="false">top_level_wallpaper</string>
     <string name="menu_key_accessibility" translatable="false">top_level_accessibility</string>
diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml
index 1e5b241..b673a083 100644
--- a/res/xml/configure_notification_settings.xml
+++ b/res/xml/configure_notification_settings.xml
@@ -135,15 +135,6 @@
             settings:controller="com.android.settings.notification.zen.ZenModePreferenceController"
         />
 
-        <com.android.settingslib.RestrictedPreference
-            android:key="modes_notifications"
-            android:order="18"
-            android:title="@string/zen_modes_list_title"
-            settings:useAdminDisabledSummary="true"
-            android:fragment="com.android.settings.notification.modes.ZenModesListFragment"
-            settings:controller="com.android.settings.notification.modes.ZenModesLinkPreferenceController"
-        />
-
         <SwitchPreferenceCompat
             android:key="lock_screen_show_only_unseen_notifs"
             android:order="19"
diff --git a/res/xml/modes_list_settings.xml b/res/xml/modes_list_settings.xml
index 5c67218..e9b059c 100644
--- a/res/xml/modes_list_settings.xml
+++ b/res/xml/modes_list_settings.xml
@@ -18,7 +18,8 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/zen_modes_list_title">
+    android:title="@string/zen_modes_list_title"
+    android:key="modes_list_settings">
 
     <com.android.settingslib.widget.TopIntroPreference
         android:title="@string/zen_modes_list_intro" />
diff --git a/res/xml/sound_settings.xml b/res/xml/sound_settings.xml
index 393009e..15312c8 100644
--- a/res/xml/sound_settings.xml
+++ b/res/xml/sound_settings.xml
@@ -105,14 +105,6 @@
         settings:keywords="@string/keywords_sounds_and_notifications_interruptions"
         settings:controller="com.android.settings.notification.zen.ZenModePreferenceController"/>
 
-    <com.android.settingslib.RestrictedPreference
-        android:key="modes_notifications"
-        android:order="-130"
-        android:title="@string/zen_modes_list_title"
-        settings:useAdminDisabledSummary="true"
-        android:fragment="com.android.settings.notification.modes.ZenModesListFragment"
-        settings:controller="com.android.settings.notification.modes.ZenModesLinkPreferenceController"/>
-
     <!-- Phone ringtone -->
     <com.android.settings.DefaultRingtonePreference
         android:key="phone_ringtone"
diff --git a/res/xml/top_level_settings.xml b/res/xml/top_level_settings.xml
index 31c6af3..1ec968a 100644
--- a/res/xml/top_level_settings.xml
+++ b/res/xml/top_level_settings.xml
@@ -68,6 +68,16 @@
         android:summary="@string/notification_dashboard_summary"
         settings:highlightableMenuKey="@string/menu_key_notifications"/>
 
+    <com.android.settings.widget.RestrictedHomepagePreference
+        android:fragment="com.android.settings.notification.modes.ZenModesListFragment"
+        android:icon="@*android:drawable/ic_zen_priority_modes"
+        android:key="top_level_priority_modes"
+        android:order="-115"
+        android:title="@string/zen_modes_list_title"
+        settings:useAdminDisabledSummary="true"
+        settings:highlightableMenuKey="@string/menu_key_priority_modes"
+        settings:controller="com.android.settings.notification.modes.ZenModesLinkPreferenceController"/>
+
     <com.android.settings.widget.HomepagePreference
         android:fragment="com.android.settings.fuelgauge.batteryusage.PowerUsageSummary"
         android:icon="@drawable/ic_settings_battery_white"
diff --git a/res/xml/top_level_settings_v2.xml b/res/xml/top_level_settings_v2.xml
index 058b77f..fe98a71 100644
--- a/res/xml/top_level_settings_v2.xml
+++ b/res/xml/top_level_settings_v2.xml
@@ -82,6 +82,16 @@
             android:summary="@string/sound_dashboard_summary"
             settings:highlightableMenuKey="@string/menu_key_sound"/>
 
+        <com.android.settings.widget.RestrictedHomepagePreference
+            android:fragment="com.android.settings.notification.modes.ZenModesListFragment"
+            android:icon="@*android:drawable/ic_zen_priority_modes"
+            android:key="top_level_priority_modes"
+            android:order="-35"
+            android:title="@string/zen_modes_list_title"
+            settings:useAdminDisabledSummary="true"
+            settings:highlightableMenuKey="@string/menu_key_priority_modes"
+            settings:controller="com.android.settings.notification.modes.ZenModesLinkPreferenceController"/>
+
         <com.android.settings.widget.HomepagePreference
             android:fragment="com.android.settings.communal.CommunalDashboardFragment"
             android:icon="@drawable/ia_settings_communal"
diff --git a/src/com/android/settings/notification/modes/ZenModesLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModesLinkPreferenceController.java
index aba82c8..48a441a 100644
--- a/src/com/android/settings/notification/modes/ZenModesLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModesLinkPreferenceController.java
@@ -18,6 +18,7 @@
 
 import android.app.Flags;
 import android.content.Context;
+import android.util.Log;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -30,6 +31,7 @@
 
 public class ZenModesLinkPreferenceController extends BasePreferenceController
         implements LifecycleObserver, OnStart, OnStop {
+    private static final String TAG = "ModesLinkPrefController";
 
     private final ZenModesBackend mBackend;
     private final ZenSettingsObserver mSettingObserver;
@@ -71,7 +73,13 @@
 
     @Override
     public void updateState(Preference preference) {
-        preference.setSummary(mSummaryBuilder.getModesSummary(mBackend.getModes()));
+        try {
+            preference.setSummary(mSummaryBuilder.getModesSummary(mBackend.getModes()));
+        } catch (SecurityException e) {
+            // Standard usage should have the correct permissions to read zen state. But if we don't
+            // for whatever reason, don't crash.
+            Log.w(TAG, "No permission to read mode state");
+        }
     }
 
     @Override
