diff --git menu_breadcrumb.info menu_breadcrumb.info
index a14621a..3b981e3 100644
--- menu_breadcrumb.info
+++ menu_breadcrumb.info
@@ -5,3 +5,4 @@ dependencies[] = menu
 core = "7.x"
 files[] = menu_breadcrumb.install
 files[] = menu_breadcrumb.module
+configure = admin/config/menu_breadcrumb
diff --git menu_breadcrumb.module menu_breadcrumb.module
index 573d7ae..038d894 100644
--- menu_breadcrumb.module
+++ menu_breadcrumb.module
@@ -24,10 +24,10 @@ define('MENU_BREADCRUMB_REGEX_MATCH', '%^(/.+/)([^/]+)/$%');
 function menu_breadcrumb_help($path, $arg) {
   $output = '';
   switch ($path) {
-    case 'admin/settings/modules#description':
+    case 'admin/config/modules#description':
       $output = t('Allows you to use the menu the current page belongs to for the breadcrumb.');
       break;
-    case 'admin/settings/menu_breadcrumb':
+    case 'admin/config/menu_breadcrumb':
       $output = t('<p>By default, Drupal 6 will use the Navigation menu for the breadcrumb. This module allows you to use the menu the current page belongs to for the breadcrumb.</p><p>As an added bonus, it also allows you to append the page title to the breadcrumb (either as a clickable url or not) and hide the breadcrumb if it only contains the link to the front page.</p>');
       break;
   }
@@ -41,7 +41,7 @@ function menu_breadcrumb_help($path, $arg) {
 function menu_breadcrumb_menu() {
   $items = array();
 
-  $items['admin/settings/menu_breadcrumb'] = array(
+  $items['admin/config/menu_breadcrumb'] = array(
     'title' => 'Menu breadcrumb',
     'description' => 'Configure menu breadcrumb.',
     'page callback' => 'drupal_get_form',
@@ -122,7 +122,7 @@ function _menu_breadcrumb_get_menus() {
     // Remove any defunct menu names. Only visible if we are showing
     // the admin settings form, so don't waste time processing this
     // otherwise.
-    if ($_GET['q'] == 'admin/settings/menu_breadcrumb') {
+    if ($_GET['q'] == 'admin/config/menu_breadcrumb') {
       $current_menu_names = array_merge($drupal_menu_names, array_unique($match_cache), array('menu_breadcrumb_default_menu'));
       $menus_current = array_intersect(array_keys($menus), $current_menu_names);
       $menus = array_intersect_key($menus, array_flip($menus_current));
@@ -321,6 +321,17 @@ function menu_breadcrumb_init() {
         foreach (array_keys($menu_link_menus) as $menu_link_menu_name) {
           if (array_key_exists($menu_link_menu_name, $match_cache)
               && $match_cache[$menu_link_menu_name] == $menu_name) {
+            // D7 upgrade: with drupal_bootstrap() removed, a fatal error can be had here. 
+            // * Enable menu_breadcrumb and book modules.
+            // * Create a book page, assign to new book.
+            // * Create a second book page via overlay, assign to new book.
+            // * On save: 
+            //     PHP Fatal error:  Call to undefined function menu_set_active_menu_name() 
+            //                       in ../sites/all/modules/menu_breadcrumb/menu_breadcrumb.module on line 324, 
+            //                       referer: http://drupal7.my.grdev.co.nz/app/drupal7/drupal-CURRENT/node/1
+            //   (didn't happen when creating a third book page
+            //    without overlay, but did happen when editing
+            //    third page in overlay)
             menu_set_active_menu_name($menu_link_menu_name);
             break 2;
           }
@@ -453,7 +464,7 @@ function menu_breadcrumb_admin_settings_form() {
       ),
       'title_display' => array(
         '#type' => 'markup',
-        '#value' => check_plain($title),
+        '#markup' => check_plain($title),
       ),
     );
 
@@ -464,7 +475,7 @@ function menu_breadcrumb_admin_settings_form() {
         '<span title="@title">@name <em>(@hint)</em></span>',
         array(
           '@title' => t("See 'Advanced' settings below."),
-          '@name' => $title_field['#value'],
+          '@name' => $title_field['#markup'],
           '@hint' => t('pattern'),
         )
       );
@@ -552,7 +563,7 @@ function menu_breadcrumb_admin_settings_form_submit($form, &$form_state) {
 function menu_breadcrumb_theme() {
   return array(
     'menu_breadcrumb_menus_table' => array(
-      'arguments' => array('element' => NULL),
+      'render element' => 'form',
     ),
   );
 }
@@ -560,30 +571,31 @@ function menu_breadcrumb_theme() {
 /**
  * Theme a drag-to-reorder table of menu selection checkboxes.
  */
-function theme_menu_breadcrumb_menus_table($element) {
+function theme_menu_breadcrumb_menus_table($variables) {
+  $form = $variables['form'] ;
   drupal_add_tabledrag('menu-breadcrumb-menus', 'order', 'sibling', 'menu-weight');
-
-  $header = array(
+  $table['attributes']['id'] = 'menu-breadcrumb-menus' ;
+  $table['header'] = array(
     t('Menu'),
     t('Enabled'),
     t('Weight'),
   );
 
   // Generate table of draggable menu names.
-  $rows = array();
-  foreach (element_children($element) as $menu_name) {
-    $element[$menu_name]['weight']['#attributes']['class'] = 'menu-weight';
-    $rows[] = array(
-      'data' => array(
-        drupal_render($element[$menu_name]['title_display']),
-        drupal_render($element[$menu_name]['enabled']),
-        drupal_render($element[$menu_name]['weight']),
-      ),
-      'class' => 'draggable',
-    );
+  foreach (element_children($form) as $key) {
+    if (isset($form[$key]['title_display'])) {
+      $menu = &$form[$key];
+      $row = array();
+      $row[] = drupal_render($menu['title_display']);
+      $row[] = drupal_render($menu['enabled']);
+      $menu['weight']['#attributes']['class'] = array('menu-weight');
+      $row[] = drupal_render($menu['weight']);
+      $rows[] = array('data' => $row, 'class' => array('draggable'));
+    }
   }
+  $table['rows'] = $rows ;
 
-  return theme('table', $header, $rows, array('id' => 'menu-breadcrumb-menus'));
+  return theme('table', $table);
 }
 
 /**
