diff --git a/res/values/strings.xml b/res/values/strings.xml
index 87b1911..e5aa0f8 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3189,10 +3189,10 @@
     <!-- Title for accessibility menu item to lauch a settings activity. [CHAR LIMIT=15] -->
     <string name="accessibility_menu_item_settings">Settings</string>
 
-    <!-- Summary for the enabled state of a feature. [CHAR LIMIT=10] -->
-    <string name="feature_state_on">On</string>
-    <!-- Summary for the disabled state of a feature. [CHAR LIMIT=10] -->
-    <string name="feature_state_off">Off</string>
+    <!-- Summary for the enabled state of an accessibility feature. [CHAR LIMIT=10] -->
+    <string name="accessibility_feature_state_on">On</string>
+    <!-- Summary for the disabled state of an accessibility feature. [CHAR LIMIT=10] -->
+    <string name="accessibility_feature_state_off">Off</string>
 
     <!-- Title for a warning about security implications of enabling an accessibility
          service. [CHAR LIMIT=NONE] -->
@@ -3261,6 +3261,11 @@
     <!-- Title for print menu item to launch the add printers activity. [CHAR LIMIT=25] -->
     <string name="print_menu_item_add_printers">Add printers</string>
 
+    <!-- Summary for the enabled state of a print feature. [CHAR LIMIT=10] -->
+    <string name="print_feature_state_on">On</string>
+    <!-- Summary for the disabled state of a print feature. [CHAR LIMIT=10] -->
+    <string name="print_feature_state_off">Off</string>
+
     <!-- App Fuel Gauge strings -->
     <skip />
 
diff --git a/src/com/android/settings/AccessibilitySettings.java b/src/com/android/settings/AccessibilitySettings.java
index 5d3fb42..f4188f1 100644
--- a/src/com/android/settings/AccessibilitySettings.java
+++ b/src/com/android/settings/AccessibilitySettings.java
@@ -405,9 +405,9 @@
             final boolean serviceEnabled = accessibilityEnabled
                     && enabledServices.contains(componentName);
             if (serviceEnabled) {
-                preference.setSummary(getString(R.string.feature_state_on));
+                preference.setSummary(getString(R.string.accessibility_feature_state_on));
             } else {
-                preference.setSummary(getString(R.string.feature_state_off));
+                preference.setSummary(getString(R.string.accessibility_feature_state_off));
             }
 
             preference.setOrder(i);
diff --git a/src/com/android/settings/PrintingSettings.java b/src/com/android/settings/PrintingSettings.java
index cd22366..723bdc9 100644
--- a/src/com/android/settings/PrintingSettings.java
+++ b/src/com/android/settings/PrintingSettings.java
@@ -159,9 +159,9 @@
 
             final boolean serviceEnabled = sEnabledServiceNameSet.contains(componentName);
             if (serviceEnabled) {
-                preference.setSummary(getString(R.string.feature_state_on));
+                preference.setSummary(getString(R.string.print_feature_state_on));
             } else {
-                preference.setSummary(getString(R.string.feature_state_off));
+                preference.setSummary(getString(R.string.print_feature_state_off));
             }
 
             preference.setOrder(i);
