diff --git a/res/values/strings.xml b/res/values/strings.xml
index b8d5a8e..fc0339a 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3196,6 +3196,8 @@
     <string name="screen_timeout_title">Screen turns off</string>
     <!-- Sound & display settings screen, setting option summary to change screen timeout -->
     <string name="screen_timeout_summary">After <xliff:g id="timeout_description">%1$s</xliff:g> of inactivity</string>
+    <!-- Sound & display settings screen, setting option summary if there is no matching candidate -->
+    <string name="screen_timeout_summary_not_set">Not set</string>
     <!-- Wallpaper settings title [CHAR LIMIT=30] -->
     <string name="wallpaper_settings_title">Wallpaper</string>
     <!-- Styles & Wallpapers settings title [CHAR LIMIT=30] -->
diff --git a/src/com/android/settings/display/ScreenTimeoutPreferenceController.java b/src/com/android/settings/display/ScreenTimeoutPreferenceController.java
index 94041ee..1254116 100644
--- a/src/com/android/settings/display/ScreenTimeoutPreferenceController.java
+++ b/src/com/android/settings/display/ScreenTimeoutPreferenceController.java
@@ -27,6 +27,7 @@
 import android.os.UserManager;
 import android.provider.Settings;
 
+import androidx.annotation.Nullable;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
@@ -74,7 +75,9 @@
     private CharSequence getTimeoutSummary(long maxTimeout) {
         final long currentTimeout = getCurrentScreenTimeout();
         final CharSequence description = getTimeoutDescription(currentTimeout, maxTimeout);
-        return mContext.getString(R.string.screen_timeout_summary, description);
+        return description == null ? mContext.getString(
+                R.string.screen_timeout_summary_not_set) : mContext.getString(
+                R.string.screen_timeout_summary, description);
     }
 
     private Long getMaxScreenTimeout() {
@@ -112,6 +115,7 @@
                 SCREEN_OFF_TIMEOUT, FALLBACK_SCREEN_TIMEOUT_VALUE);
     }
 
+    @Nullable
     private CharSequence getTimeoutDescription(long currentTimeout, long maxTimeout) {
         if (currentTimeout < 0 || mTimeoutEntries == null || mTimeoutValues == null
                 || mTimeoutValues.length != mTimeoutEntries.length) {
@@ -127,6 +131,7 @@
         }
     }
 
+    @Nullable
     private CharSequence getCurrentTimeout(long currentTimeout) {
         for (int i = 0; i < mTimeoutValues.length; i++) {
             if (currentTimeout == Long.parseLong(mTimeoutValues[i].toString())) {
@@ -136,6 +141,7 @@
         return null;
     }
 
+    @Nullable
     private CharSequence getLargestTimeout(long maxTimeout) {
         CharSequence largestTimeout = null;
         // The list of timeouts is sorted
