diff --git a/res/values/strings.xml b/res/values/strings.xml
index f0578cd..6c980c4 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -324,8 +324,6 @@
     <string name="edit_home_screen">Edit Home Screen</string>
     <!-- Text for settings button [CHAR LIMIT=20]-->
     <string name="settings_button_text">Home settings</string>
-    <!-- Text for app menu button [CHAR LIMIT=30]-->
-    <string name="all_apps_home_screen">Apps</string>
     <!-- Message shown when a feature is disabled by the administrator -->
     <string name="msg_disabled_by_admin">Disabled by your admin</string>
 
diff --git a/src/com/android/launcher3/views/AccessibilityActionsView.java b/src/com/android/launcher3/views/AccessibilityActionsView.java
index fcb7c28..a1e118d 100644
--- a/src/com/android/launcher3/views/AccessibilityActionsView.java
+++ b/src/com/android/launcher3/views/AccessibilityActionsView.java
@@ -63,10 +63,7 @@
     @Override
     public AccessibilityNodeInfo createAccessibilityNodeInfo() {
         AccessibilityNodeInfo info = super.createAccessibilityNodeInfo();
-        Launcher l = Launcher.getLauncher(getContext());
-        info.addAction(new AccessibilityAction(
-                R.string.all_apps_button_label, l.getText(R.string.all_apps_button_label)));
-        for (OptionItem item : OptionsPopupView.getOptions(l)) {
+        for (OptionItem item : OptionsPopupView.getOptions(Launcher.getLauncher(getContext()))) {
             info.addAction(new AccessibilityAction(item.labelRes, item.label));
         }
         return info;
diff --git a/src/com/android/launcher3/views/OptionsPopupView.java b/src/com/android/launcher3/views/OptionsPopupView.java
index 8c01c59..02b770e 100644
--- a/src/com/android/launcher3/views/OptionsPopupView.java
+++ b/src/com/android/launcher3/views/OptionsPopupView.java
@@ -220,7 +220,7 @@
                     OptionsPopupView::enterHomeGardening));
         }
         options.add(new OptionItem(launcher,
-                R.string.all_apps_home_screen,
+                R.string.all_apps_button_label,
                 R.drawable.ic_apps,
                 LAUNCHER_ALL_APPS_TAP_OR_LONGPRESS,
                 OptionsPopupView::enterAllApps));
