Index: includes/menu.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/menu.inc,v
retrieving revision 1.223
diff -u -r1.223 menu.inc
--- includes/menu.inc	25 Oct 2007 08:24:42 -0000	1.223
+++ includes/menu.inc	27 Oct 2007 12:56:14 -0000
@@ -1355,53 +1355,55 @@
   }
   elseif (!isset($trail)) {
     $trail = array();
-    $trail[] = array('title' => t('Home'), 'href' => '<front>', 'options' => array(), 'type' => 0);
-    $item = menu_get_item();
-
-    // Check whether the current item is a local task (displayed as a tab).
-    if ($item['tab_parent']) {
-      // The title of a local task is used for the tab, never the page title.
-      // Thus, replace it with the item corresponding to the root path to get
-      // the relevant href and title.  For example, the menu item corresponding
-      // to 'admin' is used when on the 'By module' tab at 'admin/by-module'.
-      $parts = explode('/', $item['tab_root']);
-      $args = arg();
-      // Replace wildcards in the root path using the current path.
-      foreach ($parts as $index => $part) {
-        if ($part == '%') {
-          $parts[$index] = $args[$index];
-        }
-      }
-      // Retrieve the menu item using the root path after wildcard replacement.
-      $root_item = menu_get_item(implode('/', $parts));
-      if ($root_item && $root_item['access']) {
-        $item = $root_item;
-      }
-    }
-
-    $tree = menu_tree_page_data(menu_get_active_menu_name());
-    list($key, $curr) = each($tree);
-
-    while ($curr) {
-      // Terminate the loop when we find the current path in the active trail.
-      if ($curr['link']['href'] == $item['href']) {
-        $trail[] = $curr['link'];
-        $curr = FALSE;
+    if (!drupal_is_front_page()) {
+      $trail[] = array('title' => t('Home'), 'href' => '<front>', 'options' => array(), 'type' => 0);
+      $item = menu_get_item();
+  
+      // Check whether the current item is a local task (displayed as a tab).
+      if ($item['tab_parent']) {
+        // The title of a local task is used for the tab, never the page title.
+        // Thus, replace it with the item corresponding to the root path to get
+        // the relevant href and title.  For example, the menu item corresponding
+        // to 'admin' is used when on the 'By module' tab at 'admin/by-module'.
+        $parts = explode('/', $item['tab_root']);
+        $args = arg();
+        // Replace wildcards in the root path using the current path.
+        foreach ($parts as $index => $part) {
+          if ($part == '%') {
+            $parts[$index] = $args[$index];
+          }
+        }
+        // Retrieve the menu item using the root path after wildcard replacement.
+        $root_item = menu_get_item(implode('/', $parts));
+        if ($root_item && $root_item['access']) {
+          $item = $root_item;
+        }
       }
-      else {
-        // Move to the child link if it's in the active trail.
-        if ($curr['below'] && $curr['link']['in_active_trail']) {
+  
+      $tree = menu_tree_page_data(menu_get_active_menu_name());
+      list($key, $curr) = each($tree);
+  
+      while ($curr) {
+        // Terminate the loop when we find the current path in the active trail.
+        if ($curr['link']['href'] == $item['href']) {
           $trail[] = $curr['link'];
-          $tree = $curr['below'];
+          $curr = FALSE;
+        }
+        else {
+          // Move to the child link if it's in the active trail.
+          if ($curr['below'] && $curr['link']['in_active_trail']) {
+            $trail[] = $curr['link'];
+            $tree = $curr['below'];
+          }
+          list($key, $curr) = each($tree);
         }
-        list($key, $curr) = each($tree);
       }
-    }
-    // Make sure the current page is in the trail (needed for the page title),
-    // but exclude tabs and the front page.
-    $last = count($trail) - 1;
-    if ($trail[$last]['href'] != $item['href'] && !(bool)($item['type'] & MENU_IS_LOCAL_TASK) && !drupal_is_front_page()) {
-      $trail[] = $item;
+      // Make sure the current page is in the trail (needed for the page title),
+      // but exclude tabs and the front page.
+      $last = count($trail) - 1;
+      if ($trail[$last]['href'] != $item['href'] && !(bool)($item['type'] & MENU_IS_LOCAL_TASK) && !drupal_is_front_page()) {
+        $trail[] = $item;
+      }
     }
   }
   return $trail;