Breadcrumb trail not displaying correctly in custom module I'm working on developing a custom module for Drupal 7.  Part of the module that I'm creating is a form editing component (with an entirely different aim from something like cck, which is why I am re-inventing the wheel here). I've got one page registered to display a list of all the forms, and another registered for viewing and editing a specific form.  I would like the breadcrumb on the viewing page to include a link to the listing page, however it does not appear.  I am getting "Home » Administration » Jarrow ETD System", while I would like to have a "Form Editor" component on the end.  The relevant hook_menu code looks like this:

$items['admin/settings/jarrow'] = array(
  'title' =&gt; t('Jarrow ETD System'),
  'description' =&gt; t('Configure the core settings for the Jarrow ETD system'),
  'page callback' =&gt; 'drupal_get_form',
  'page arguments' =&gt; array('jarrow_configure'),
  'access arguments' =&gt; array('administer etd'),
  'type' =&gt; MENU_NORMAL_ITEM,
);

$items['admin/settings/jarrow/forms'] = array(
  'title' =&gt; t('Form Editor'),
  'description' =&gt; t('View All Forms'),
  'page callback' =&gt; 'jarrow_list_forms',
  'file' =&gt; 'form_editor.inc',
  'access callback' =&gt; 'user_access',
  'access arguments' =&gt; array('administer etd'),
  'type' =&gt; MENU_LOCAL_TASK,
  'weight' =&gt; 40,
);

$items['admin/settings/jarrow/forms/%/view'] = array(
  'title' =&gt; t('Form View'),
  'description' =&gt; t('View a Form'),
  'page callback' =&gt; 'jarrow_view_form',
  'page arguments' =&gt; array(4),
  'file' =&gt; 'form_editor.inc',
  'access callback' =&gt; 'user_access',
  'access arguments' =&gt; array('administer etd'),
  'type' =&gt; MENU_NORMAL_ITEM,
);


There are a significant number of other pages registered, which I have omitted.  Aside from the fact that I probably shouldn't be using 'admin/settings' as my base url, I can't see anything wrong with the menu structure.  Oddly enough, if I add in the following code to hook_menu, I get the right result:

$items['admin/settings/jarrow/stuff'] = array(
  'title' =&gt; t('Stuff Editor'),
  'description' =&gt; t('View All Forms'),
  'page callback' =&gt; 'jarrow_list_forms',
  'file' =&gt; 'form_editor.inc',
  'access callback' =&gt; 'user_access',
  'access arguments' =&gt; array('administer etd'),
  'type' =&gt; MENU_LOCAL_TASK,
  'weight' =&gt; 40,
);

  $items['admin/settings/jarrow/stuff/%/view'] = array(
  'title' =&gt; t('Stuff View'),
  'description' =&gt; t('View a Form'),
  'page callback' =&gt; 'jarrow_view_form',
  'page arguments' =&gt; array(4),
  'file' =&gt; 'form_editor.inc',
  'access callback' =&gt; 'user_access',
  'access arguments' =&gt; array('administer etd'),
  'type' =&gt; MENU_NORMAL_ITEM,
);


This is exactly the same entry into hook_menu, down to the function it's calling, except for the url having "stuff" in it instead of "forms".  However, the breadcrumb trail displays properly: "Home » Administration » Jarrow ETD System » Stuff Editor".

I took a look at the inner workings of menu.inc, and traced the execution.  It appears that when Drupal assembles the menu tree for the form, it is including the child /view, whereas for "stuff" it does not.  I can't for the life of me figure out why, and I am hoping someone with experience dealing with drupal's menu system can provide some explanation as to why the menu would be constructed as such.
After making a completely unrelated change to my hook_menu, the breadcrumb fixed itself.  I don't know why though.