diff --git a/includes/menu.inc b/includes/menu.inc
index 2a8c80c..38978ac 100644
--- a/includes/menu.inc
+++ b/includes/menu.inc
@@ -1486,10 +1486,12 @@ function menu_tree_data(array $links, array $parents = array(), $depth = 1) {
  */
 function _menu_tree_data(&$links, $parents, $depth) {
   $tree = array();
+  $is_front = drupal_is_front_page();
   while ($item = array_pop($links)) {
     // We need to determine if we're on the path to root so we can later build
     // the correct active trail and breadcrumb.
-    $item['in_active_trail'] = in_array($item['mlid'], $parents);
+    $item['in_active_trail'] = in_array($item['mlid'], $parents)
+      || ($is_front && isset($item['link_path']) && $item['link_path'] == '<front>');
     // Add the current link to the tree.
     $tree[$item['mlid']] = array(
       'link' => $item,
