Index: menu.module
===================================================================
--- menu.module	(revision 106)
+++ menu.module	(working copy)
@@ -303,10 +303,8 @@
         }
         elseif (trim($item['link_title'])) {
           $item['link_title'] = trim($item['link_title']);
+          $item['options']['attributes']['title'] = trim($item['options']['attributes']['title']);
           $item['link_path'] = "node/$node->nid";
-          if (!$item['customized']) {
-            $item['options']['attributes']['title'] = trim($node->title);
-          }
           if (!menu_link_save($item)) {
             drupal_set_message(t('There was an error saving the menu link.'), 'error');
           }
@@ -336,6 +334,7 @@
             $item = menu_link_load($mlid);
           }
         }
+
         // Set default values.
         $node->menu = $item + array('link_title' => '', 'mlid' => 0, 'plid' => 0, 'menu_name' => $menu_name, 'weight' => 0, 'options' => array(), 'module' => 'menu', 'expanded' => 0, 'hidden' => 0, 'has_children' => 0, 'customized' => 0);
       }
@@ -396,6 +395,12 @@
       '#description' => t('The link text corresponding to this item that should appear in the menu. Leave blank if you do not wish to add this post to the menu.'),
       '#required' => FALSE,
     );
+    $form['menu']['description'] = array('#type' => 'textfield',
+      '#title' => t('Description'),
+      '#default_value' => $item['options']['attributes']['title'],
+      '#description' => t('The description displayed when hovering over a menu item.'),
+      '#required' => FALSE,
+    );
     // Generate a list of possible parents (not including this item or descendants).
     $options = menu_parent_options(menu_get_menus(), $item);
     $default = $item['menu_name'] .':'. $item['plid'];
@@ -426,6 +431,7 @@
  * Decompose the selected menu parent option into the menu_name and plid.
  */
 function menu_node_form_submit($form, &$form_state) {
+  $form_state['values']['menu']['options']['attributes']['title'] = $form_state['values']['menu']['description'];
   list($form_state['values']['menu']['menu_name'], $form_state['values']['menu']['plid']) = explode(':', $form_state['values']['menu']['parent']);
 }
 
