diff --git a/modules/menu/menu.module b/modules/menu/menu.module
index cfe17b1..119a4c8 100644
--- a/modules/menu/menu.module
+++ b/modules/menu/menu.module
@@ -306,6 +306,9 @@ function menu_nodeapi(&$node, $op) {
           if (!$item['customized']) {
             $item['options']['attributes']['title'] = trim($node->title);
           }
+          if ($item['description']) {
+             $item['options']['attributes']['title'] = $item['description'];
+          }
           if (!menu_link_save($item)) {
             drupal_set_message(t('There was an error saving the menu link.'), 'error');
           }
@@ -395,6 +398,16 @@ function menu_form_alter(&$form, $form_state, $form_id) {
       '#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' => 'textarea',
+	  '#title' => t('Description'),
+	  '#default_value' => isset($item['options']['attributes']['title']) ? $item['options']['attributes']['title'] : '',
+	  '#rows' => 1,
+	  '#description' => t('The description displayed when hovering over a menu item.'),
+	);
+
     // 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'];
