diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/MenuItem.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/MenuItem.java
index 4d0f4f7..e746f06 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/MenuItem.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/MenuItem.java
@@ -849,11 +849,9 @@
  * the tool tip text to an empty string replaces the default,
  * causing no tool tip text to be shown.
  * <p>
- * The mnemonic indicator (character '&amp;') is not displayed in a tool tip.
- * To display a single '&amp;' in the tool tip, the character '&amp;' can be
- * escaped by doubling it in the string.
+ * NOTE: Setting tooltips doesn't work for Menu items in the main menubar 
+ * on Mac and Ubuntu Unity desktop.
  * </p>
- *
  * @param toolTip the new tool tip text (or null)
  *
  * @exception SWTException <ul>
@@ -870,7 +868,7 @@
 		toolTipText = null;
 		nsItem.setToolTip (null);
 	}
-
+	/*TODO: call fixMnemonic() on toolTip */
 	if (toolTip == null || toolTip.trim().length() == 0 || toolTip.equals(toolTipText)) return;
 
     toolTipText = toolTip;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java
index 44b88f3..8ba5346 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java
@@ -954,9 +954,8 @@
  * the tool tip text to an empty string replaces the default,
  * causing no tool tip text to be shown.
  * <p>
- * The mnemonic indicator (character '&amp;') is not displayed in a tool tip.
- * To display a single '&amp;' in the tool tip, the character '&amp;' can be
- * escaped by doubling it in the string.
+ * NOTE: Setting tooltip doesn't work for menu items in the main menubar 
+ * on Mac and Ubuntu Unity desktop.
  * </p>
  *
  * @param toolTip the new tool tip text (or null)
@@ -970,7 +969,7 @@
  */
 public void setToolTipText (String toolTip) {
 	checkWidget();
-
+	/*TODO: call fixMnemonic() on toolTip */
 	if (toolTip != null && (toolTip.trim().length() == 0 || toolTip.equals (toolTipText))) return;
 
 	this.parent.getShell().setToolTipText (handle, (toolTipText = toolTip));
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/MenuItem.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/MenuItem.java
index 8697cd2..34ba098 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/MenuItem.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/MenuItem.java
@@ -1178,11 +1178,9 @@
  * the tool tip text to an empty string replaces the default,
  * causing no tool tip text to be shown.
  * <p>
- * The mnemonic indicator (character '&amp;') is not displayed in a tool tip.
- * To display a single '&amp;' in the tool tip, the character '&amp;' can be
- * escaped by doubling it in the string.
+ * NOTE: Setting tooltips doesn't work for Menu items in the main menubar 
+ * on Mac and Ubuntu Unity desktop.
  * </p>
- *
  * @param toolTip the new tool tip text (or null)
  *
  * @exception SWTException <ul>
@@ -1200,6 +1198,7 @@
 		itemToolTip = null;
 	}
 
+	/*TODO: call fixMnemonic() on toolTip */
 	if (toolTip == null || toolTip.trim().length() == 0
 			|| (itemToolTip != null && toolTip.equals(itemToolTip.getMessage()))) return;
 
