=== modified file 'includes/menu.inc'
--- includes/menu.inc	2010-09-16 19:47:45 +0000
+++ includes/menu.inc	2010-09-19 15:36:45 +0000
@@ -3231,10 +3231,15 @@ function _menu_router_build($callbacks) 
         // If an access callback is not found for a default local task we use
         // the callback from the parent, since we expect them to be identical.
         // In all other cases, the access parameters must be specified.
-        if (($item['type'] == MENU_DEFAULT_LOCAL_TASK) && !isset($item['access callback']) && isset($parent['access callback'])) {
-          $item['access callback'] = $parent['access callback'];
-          if (!isset($item['access arguments']) && isset($parent['access arguments'])) {
-            $item['access arguments'] = $parent['access arguments'];
+        if (($item['type'] == MENU_DEFAULT_LOCAL_TASK)) {
+          if (!isset($item['access callback']) && isset($parent['access callback'])) {
+            $item['access callback'] = $parent['access callback'];
+            if (!isset($item['access arguments']) && isset($parent['access arguments'])) {
+              $item['access arguments'] = $parent['access arguments'];
+            }
+          }
+          if (!isset($item['page callback'])) {
+            $item['page callback'] = 'menu_goto_tab_parent';
           }
         }
         // Same for page callbacks.
@@ -3436,5 +3441,20 @@ function _menu_site_is_offline($check_on
 }
 
 /**
+ * The default page callback for MENU_DEFAULT_LOCAL_TASKs.
+ *
+ * As Drupal never links to these pages, redirect to the parent.
+ */
+function menu_goto_tab_parent() {
+  $item = menu_get_item();
+  // We can't use menu_get_item() to get the tab parent because the
+  // translated path to the parent is unknown.
+  $parent = db_query('SELECT * FROM {menu_router} WHERE path = :path', array(':path' => $item['tab_parent']))->fetchAssoc();
+  $map = arg();
+  _menu_translate($parent, $map, TRUE);
+  drupal_goto($parent['href']);
+}
+
+/**
  * @} End of "defgroup menu".
  */

