Index: admin_menu.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/admin_menu/admin_menu.inc,v
retrieving revision 1.1.4.17
diff -u -p -r1.1.4.17 admin_menu.inc
--- admin_menu.inc	10 Aug 2008 23:24:50 -0000	1.1.4.17
+++ admin_menu.inc	25 Oct 2008 14:28:54 -0000
@@ -72,7 +72,20 @@ function _admin_menu_get_children(&$_adm
     foreach ($item['children'] as $child) {
       // Check access permissions.
       if (!variable_get('admin_menu_show_all', 0)) {
-        $item_is_accessible = !isset($_menu['items'][$child]['access']) || (isset($_menu['items'][$child]['access']) && $_menu['items'][$child]['access']);
+        // If this child defined access, use it.
+        if (isset($_menu['items'][$child]['access'])) {
+          $item_is_accessible = $_menu['items'][$child]['access'];
+        }
+        // Special treatment for Site configuration items in core, which do not
+        // properly specify access.
+        elseif ($item['path'] === '/admin/settings' && user_access('administer site configuration')) {
+          $item_is_accessible = TRUE;
+        }
+        // If this child has no access defined and is not located in Site
+        // configuration, it is not accessible.
+        else {
+          $item_is_accessible = FALSE;
+        }
       }
       else {
         $item_is_accessible = TRUE;
