diff --git a/modules/menu.workbench_access.inc b/modules/menu.workbench_access.inc
index 1da7ca6..8d340c8 100644
--- a/modules/menu.workbench_access.inc
+++ b/modules/menu.workbench_access.inc
@@ -114,6 +114,10 @@ function menu_workbench_access_tree($info, $keys) {
   $tree = array();
   foreach ($items as $name => $mlid) {
     $data = menu_load($name);
+    if (empty($data['menu_name'])) {
+      break;
+    }
+
     if ($mlid == 0) {
       $tree[$name] = array(
         'access_id' => $data['menu_name'],
@@ -125,8 +129,8 @@ function menu_workbench_access_tree($info, $keys) {
         'parent' => 0,
       );
     }
-    $menu = menu_tree_all_data($name);
-    foreach ($menu as $link) {
+    $menu = _menu_build_tree($name);
+    foreach ($menu['tree'] as $link) {
       // Ensure that we start at the top of the current request.
       // If mlid is 0, we are at the root.
       _workbench_access_menu_build_tree($tree, $link, $mlid);
