diff --git a/res/values/strings.xml b/res/values/strings.xml
index b2328da..db2231f 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -7406,6 +7406,9 @@
     <!-- List of synonyms for the Wallpaper picker setting, used to match in settings search [CHAR LIMIT=NONE] -->
     <string name="keywords_wallpaper">background, screen, lockscreen, theme</string>
 
+    <!-- List of synonyms for the Styles picker setting, used to match in settings search [CHAR LIMIT=NONE] -->
+    <string name="keywords_styles">icon shape, accent color, font</string>
+
     <!-- List of synonyms for the Default Assist and Voice input setting, used to match in settings search [CHAR LIMIT=NONE] -->
     <string name="keywords_assist_input">default, assistant</string>
 
@@ -10001,8 +10004,6 @@
     <!-- Notification log debug tool: the word 'none' -->
     <string name="notification_log_details_ranking_none">Ranking object doesn\'t contain this key.</string>
 
-    <!-- [CHAR_LIMIT=NONE] Developer Settings: Title of the settings category for theme overlays. -->
-    <string name="theme_customization_category">Theming</string>
     <!-- [CHAR_LIMIT=NONE] Developer Settings: Label for the option that turns off customizations for a given category.-->
     <string name="theme_customization_device_default">Device default</string>
 
diff --git a/src/com/android/settings/display/WallpaperPreferenceController.java b/src/com/android/settings/display/WallpaperPreferenceController.java
index 3ba39e9..b6af9bc 100644
--- a/src/com/android/settings/display/WallpaperPreferenceController.java
+++ b/src/com/android/settings/display/WallpaperPreferenceController.java
@@ -69,9 +69,7 @@
     public String getKeywords() {
         StringBuilder sb = new StringBuilder(mContext.getString(R.string.keywords_wallpaper));
         if (areStylesAvailable()) {
-            // TODO(b/130759285): Create a new string keywords_styles_and_wallpaper
-            sb.append(", ").append(mContext.getString(R.string.theme_customization_category))
-                    .append(", ").append(mContext.getString(R.string.keywords_dark_ui_mode));
+            sb.append(", ").append(mContext.getString(R.string.keywords_styles));
         }
         return sb.toString();
     }
diff --git a/tests/robotests/src/com/android/settings/display/WallpaperPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/WallpaperPreferenceControllerTest.java
index c9a6978..d6ad52d2 100644
--- a/tests/robotests/src/com/android/settings/display/WallpaperPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/WallpaperPreferenceControllerTest.java
@@ -123,7 +123,7 @@
         assertThat(mController.getKeywords())
                 .contains(mContext.getString(R.string.keywords_wallpaper));
         assertThat(mController.getKeywords())
-                .doesNotContain(mContext.getString(R.string.theme_customization_category));
+                .doesNotContain(mContext.getString(R.string.keywords_styles));
     }
 
     @Test
@@ -136,7 +136,7 @@
         assertThat(mController.getKeywords())
                 .contains(mContext.getString(R.string.keywords_wallpaper));
         assertThat(mController.getKeywords())
-                .contains(mContext.getString(R.string.theme_customization_category));
+                .contains(mContext.getString(R.string.keywords_styles));
     }
 
     @Test
