Index: includes/menu.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/menu.inc,v
retrieving revision 1.399
diff -u -p -r1.399 menu.inc
--- includes/menu.inc	2 Jul 2010 02:22:26 -0000	1.399
+++ includes/menu.inc	7 Jul 2010 20:26:52 -0000
@@ -795,6 +795,23 @@ function _menu_link_translate(&$item) {
     }
     // menu_tree_check_access() may set this ahead of time for links to nodes.
     if (!isset($item['access'])) {
+
+      // Prevent going to dead loop when 'menu_link_load'
+      // load function is specified.
+      if (!empty($item['load_functions'])) {
+        if ($load_functions = $item['load_functions']) {
+          // If someone calls this function twice, then unserialize will fail.
+          if ($load_functions_unserialized = unserialize($load_functions)) {
+            $load_functions = $load_functions_unserialized;
+          }
+
+          if (in_array('menu_link_load', $load_functions)) {
+            $item['access'] = TRUE;
+            return TRUE;
+          }
+        }
+      }
+
       if (!empty($item['load_functions']) && !_menu_load_objects($item, $map)) {
         // An error occurred loading an object.
         $item['access'] = FALSE;
