diff --git a/src/qtdesktop/ComboBox.qml b/src/qtdesktop/ComboBox.qml
index 2a61e4293c92c79ed5e233cfc5d54cd988fb7c12..321f8b27a836b55709dfc4f38c7d8341cddcfb52 100644
--- a/src/qtdesktop/ComboBox.qml
+++ b/src/qtdesktop/ComboBox.qml
@@ -59,9 +59,7 @@ import "Styles/Settings.js" as Settings
       create items inside the popup menu
     bool popupOpen - setting this property to 'true' will open the popup.
     int selectedIndex - the index of the selected item in the popup menu.
-    int hoveredIndex - the index of the highlighted item in the popup menu.
     string selectedText - the text of the selected menu item.
-    string hoveredText - the text of the highlighted menu item.
 
     Example 1:
 
@@ -105,9 +103,7 @@ BasicButton {
     property bool popupOpen: false
 
     property alias selectedIndex: popup.selectedIndex
-    property alias hoveredIndex: popup.hoveredIndex
     property alias selectedText: popup.selectedText
-    property alias hoveredText: popup.hoveredText
     property var styleHints:[]
 
     style: Qt.createComponent(Settings.THEME_PATH + "/ComboBoxStyle.qml", comboBox)
@@ -154,6 +150,7 @@ BasicButton {
         function show() {
             comboBox.popupOpen = true
             menuItems[comboBox.selectedIndex].checked = true
+            currentIndex = comboBox.selectedIndex
             showPopup(x, y, centerSelectedText ? comboBox.selectedIndex : 0, comboBox)
         }
 
diff --git a/src/qtdesktop/ContextMenu.qml b/src/qtdesktop/ContextMenu.qml
index 7ac2e919dd156f3bbae7de4cb80aecc472a7abae..751fa8314722ac1ed35167b875e5bbd19ab9ee9a 100644
--- a/src/qtdesktop/ContextMenu.qml
+++ b/src/qtdesktop/ContextMenu.qml
@@ -51,18 +51,12 @@ import QtDesktop 1.0
 Menu {
     id: root
     property string selectedText: itemTextAt(selectedIndex)
-    property string hoveredText: itemTextAt(hoveredIndex)
     property string textRole
 
     onModelChanged: if (Component.status === Component.Ready && model !== undefined) rebuildMenu()
 
     Component.onCompleted: if (model !== undefined) rebuildMenu()
 
-//    onHoveredIndexChanged: {
-//        if (hoveredIndex < menuItems.length)
-//            menuItems[hoveredIndex].hovered()
-//    }
-
     onSelectedIndexChanged: {
         if (0 <= selectedIndex && selectedIndex < menuItems.length)
             menuItems[selectedIndex].triggered()
diff --git a/src/qtdesktop/Menu.qml b/src/qtdesktop/Menu.qml
index a59cec2d8cde5752a959006fb7fb668b111630e6..375891d213cd3410a99d2b258756929a78cadeb4 100644
--- a/src/qtdesktop/Menu.qml
+++ b/src/qtdesktop/Menu.qml
@@ -98,14 +98,6 @@ import "Styles/Settings.js" as Settings
     \qmlproperty int Menu::selectedIndex
 */
 
-/*!
-    \qmlproperty int Menu::hoveredIndex
-*/
-
-/*!
-    \qmlproperty int Menu::selectedIndex
-*/
-
 /*!
     \qmlproperty font Menu::font
 
@@ -141,6 +133,8 @@ MenuPrivate {
 
     //! internal
     property var menuBar: null
+    //! internal
+    property int currentIndex: -1
 
     //! internal
     menuContentItem: Loader {
@@ -161,18 +155,18 @@ MenuPrivate {
         Keys.onEscapePressed: root.dismissMenu()
 
         Keys.onDownPressed: {
-            if (root.hoveredIndex < 0) {
-                root.hoveredIndex = 0
+            if (root.currentIndex < 0) {
+                root.currentIndex = 0
                 return
             }
 
-            for (var i = root.hoveredIndex + 1;
+            for (var i = root.currentIndex + 1;
                  i < root.menuItems.length && !canBeHovered(i); i++)
                 ;
         }
 
         Keys.onUpPressed: {
-            for (var i = root.hoveredIndex - 1;
+            for (var i = root.currentIndex - 1;
                  i >= 0 && !canBeHovered(i); i--)
                 ;
         }
@@ -180,7 +174,7 @@ MenuPrivate {
         function canBeHovered(index) {
             var item = itemsRepeater.itemAt(index)
             if (!item["isSeparator"] && item.enabled) {
-                root.hoveredIndex = index
+                root.currentIndex = index
                 return true
             }
             return false
@@ -192,10 +186,10 @@ MenuPrivate {
         }
 
         Keys.onRightPressed: {
-            var item = itemsRepeater.itemAt(root.hoveredIndex)
+            var item = itemsRepeater.itemAt(root.currentIndex)
             if (item && item.hasSubmenu) {
                 item.menuItem.showPopup(menuFrameLoader.subMenuXPos, 0, -1, item)
-                item.menuItem.hoveredIndex = 0
+                item.menuItem.currentIndex = 0
             }
         }
 
@@ -204,9 +198,9 @@ MenuPrivate {
         Keys.onEnterPressed: menuFrameLoader.triggerAndDismiss()
 
         function triggerAndDismiss() {
-            var item = itemsRepeater.itemAt(root.hoveredIndex)
+            var item = itemsRepeater.itemAt(root.currentIndex)
             if (item && !item.isSeparator) {
-                root.selectedIndex = root.hoveredIndex
+                root.selectedIndex = root.currentIndex
                 item.menuItem.trigger()
                 root.dismissMenu()
             }
@@ -224,7 +218,7 @@ MenuPrivate {
             anchors.fill: parent
             hoverEnabled: true
 
-            onExited: root.hoveredIndex = -1 // TODO Test for any submenu open
+            onExited: root.currentIndex = -1 // TODO Test for any submenu open
 
             // Each menu item has its own mouse area, and for events to be
             // propagated to the menu mouse area, they need to be embedded.
@@ -242,7 +236,7 @@ MenuPrivate {
                         property var menuItem: modelData
                         property bool isSeparator: !menuItem.hasOwnProperty("text")
                         property bool hasSubmenu: !!menuItem["menuItems"]
-                        property bool selected: !isSeparator && root.hoveredIndex === index
+                        property bool selected: !isSeparator && root.currentIndex === index
 
                         property alias mouseArea: itemMouseArea
                         property var menuItemsColumn: column
@@ -273,7 +267,7 @@ MenuPrivate {
                                     closeMenuTimer.start()
                             }
 
-                            onPositionChanged: root.hoveredIndex = index
+                            onPositionChanged: root.currentIndex = index
 
                             Connections {
                                 target: menuMouseArea
diff --git a/src/qtdesktop/MenuBar.qml b/src/qtdesktop/MenuBar.qml
index a75981301917270fcf5570296ffb02c197e4d51a..999bf0880413886683b0133adb95de433a3e3a0f 100644
--- a/src/qtdesktop/MenuBar.qml
+++ b/src/qtdesktop/MenuBar.qml
@@ -166,7 +166,7 @@ MenuBarPrivate {
                                     if (menuBarLoader.openedMenuIndex === index) {
                                         menuItem.showPopup(0, root.height, 0, menuItemLoader)
                                         if (menuBarLoader.preselectMenuItem)
-                                            menuItem.hoveredIndex = 0
+                                            menuItem.currentIndex = 0
                                     } else {
                                         menuItem.closeMenu()
                                     }
diff --git a/src/qtdesktop/qtaction_p.h b/src/qtdesktop/qtaction_p.h
index 9c6eaba5b0ab3d1501775148b3f0ec5d5dab9e4e..d4578367c417725690cf0aad1a00e278c82c78ef 100644
--- a/src/qtdesktop/qtaction_p.h
+++ b/src/qtdesktop/qtaction_p.h
@@ -106,11 +106,9 @@ public:
 
 public Q_SLOTS:
     void trigger();
-    void hover() { emit hovered(); }
 
 Q_SIGNALS:
     void triggered();
-    void hovered();
     void toggled(bool);
 
     void textChanged();
diff --git a/src/qtdesktop/qtmenu.cpp b/src/qtdesktop/qtmenu.cpp
index afb724baab53ef3c80431398424b149fa6a64e83..eed36fcf95ce7201044ee6d58512936f22f63996 100644
--- a/src/qtdesktop/qtmenu.cpp
+++ b/src/qtdesktop/qtmenu.cpp
@@ -120,18 +120,6 @@ void QtMenu::setSelectedIndex(int index)
     emit selectedIndexChanged();
 }
 
-void QtMenu::setHoveredIndex(int index)
-{
-    if (m_highlightedIndex == index)
-        return;
-
-    m_highlightedIndex = index;
-//    QList<QAction *> actionList = m_qmenu->actions();
-//    if (m_highlightedIndex >= 0 && m_highlightedIndex < actionList.size())
-//        m_qmenu->setActiveAction(actionList[m_highlightedIndex]);
-    emit hoveredIndexChanged();
-}
-
 QQmlListProperty<QtMenuBase> QtMenu::menuItems()
 {
     return QQmlListProperty<QtMenuBase>(this, 0, &QtMenu::append_menuItems, &QtMenu::count_menuItems, &QtMenu::at_menuItems, 0);
@@ -151,8 +139,6 @@ void QtMenu::showPopup(qreal x, qreal y, int atItemIndex, QObject *reference)
         while (!atItem && atItemIndex < m_menuItems.size())
             atItem = qobject_cast<QtMenuItem *>(m_menuItems[atItemIndex++]);
 
-    setHoveredIndex(m_selectedIndex);
-
     QQuickItem *item = qobject_cast<QQuickItem *>(reference);
 
     QQuickWindow *parentWindow = item ? item->window() : qobject_cast<QQuickWindow *>(reference);
@@ -244,7 +230,6 @@ QtMenuItem *QtMenu::addMenuItem(const QString &text)
             m_platformMenu->insertMenuItem(platformItem, 0 /* append */);
 
         connect(platformItem, SIGNAL(activated()), this, SLOT(emitSelected()));
-        connect(platformItem, SIGNAL(hovered()), this, SLOT(emitHovered()));
     }
 
     if (m_menuItems.size() == 1)
@@ -271,15 +256,6 @@ void QtMenu::emitSelected()
     setSelectedIndex(index);
 }
 
-void QtMenu::emitHovered()
-{
-//    QAction *act = qobject_cast<QAction *>(sender());
-//    if (!act)
-//        return;
-//    m_highlightedIndex = m_qmenu->actions().indexOf(act);
-//    emit hoveredIndexChanged();
-}
-
 QString QtMenu::itemTextAt(int index) const
 {
     QtMenuItem *mi = 0;
diff --git a/src/qtdesktop/qtmenu_p.h b/src/qtdesktop/qtmenu_p.h
index 95e9ab7894af8d30343fe6115270ba117eda43c0..ffcba4bc419bc315b6af964ac8d28345e707bf8c 100644
--- a/src/qtdesktop/qtmenu_p.h
+++ b/src/qtdesktop/qtmenu_p.h
@@ -57,7 +57,6 @@ class QtMenu : public QtMenuItem
     Q_OBJECT
     Q_PROPERTY(QVariant model READ model WRITE setModel NOTIFY modelChanged)
     Q_PROPERTY(int selectedIndex READ selectedIndex WRITE setSelectedIndex NOTIFY selectedIndexChanged)
-    Q_PROPERTY(int hoveredIndex READ hoveredIndex WRITE setHoveredIndex NOTIFY hoveredIndexChanged)
     Q_PROPERTY(int minimumWidth READ minimumWidth WRITE setMinimumWidth NOTIFY minimumWidthChanged)
     Q_PROPERTY(QFont font WRITE setFont)
     Q_PROPERTY(QQmlListProperty<QtMenuBase> menuItems READ menuItems NOTIFY menuItemsChanged)
@@ -71,8 +70,6 @@ public:
 
     int selectedIndex() const { return m_selectedIndex; }
     void setSelectedIndex(int index);
-    int hoveredIndex() const { return m_highlightedIndex; }
-    void setHoveredIndex(int index);
 
     QQmlListProperty<QtMenuBase> menuItems();
 
@@ -127,7 +124,6 @@ public Q_SLOTS:
 Q_SIGNALS:
     void menuClosed();
     void selectedIndexChanged();
-    void hoveredIndexChanged();
     void modelChanged(const QVariant &newModel);
     void rebuildMenu();
     void minimumWidthChanged();
@@ -141,7 +137,6 @@ protected:
 
 protected Q_SLOTS:
     void emitSelected();
-    void emitHovered();
     void updateText();
     void windowVisibleChanged(bool);
 
diff --git a/src/qtdesktop/qtmenuitem.cpp b/src/qtdesktop/qtmenuitem.cpp
index e1e8f8c5c83715ff5a9bc88a7a9b0fe0b07335d4..dc19f72d80ef395dd1b1d201d7547748c1129bcd 100644
--- a/src/qtdesktop/qtmenuitem.cpp
+++ b/src/qtdesktop/qtmenuitem.cpp
@@ -211,7 +211,6 @@ void QtMenuItem::bindToAction(QtAction *action)
 
     if (platformItem()) {
         connect(platformItem(), SIGNAL(activated()), m_action, SLOT(trigger()));
-        connect(platformItem(), SIGNAL(hovered()), m_action, SLOT(hover()));
     }
 
     connect(m_action, SIGNAL(destroyed(QObject*)), this, SLOT(unbindFromAction(QObject*)));
@@ -250,7 +249,6 @@ void QtMenuItem::unbindFromAction(QObject *o)
 
     if (platformItem()) {
         disconnect(platformItem(), SIGNAL(activated()), action, SLOT(trigger()));
-        disconnect(platformItem(), SIGNAL(hovered()), action, SLOT(hover()));
     }
 
     disconnect(action, SIGNAL(destroyed(QObject*)), this, SLOT(unbindFromAction(QObject*)));