diff --git a/core/includes/menu.inc b/core/includes/menu.inc
index f68e1f6..043f765 100644
--- a/core/includes/menu.inc
+++ b/core/includes/menu.inc
@@ -918,12 +918,16 @@ function _menu_link_translate(&$item, $translate = FALSE) {
       $item['access'] = FALSE;
       return FALSE;
     }
+    // Make sure to always load menu objects.
+    // _menu_item_localize() expects that menu objects have already been loaded
+    // so errors will result if they haven't been.
+    $load_objects_success = _menu_load_objects($item, $map);
     // menu_tree_check_access() may set this ahead of time for links to nodes.
     if (!isset($item['access'])) {
       if ($route = $item->getRoute()) {
         $item['access'] = menu_item_route_access($route, $item['href'], $map);
       }
-      elseif (!empty($item['load_functions']) && !_menu_load_objects($item, $map)) {
+      elseif (!empty($item['load_functions']) && !$load_objects_success) {
         // An error occurred loading an object.
         $item['access'] = FALSE;
         return FALSE;
