diff --git a/imports/QtDesktop/ApplicationWindow.qml b/imports/QtDesktop/ApplicationWindow.qml
index f692fa25e012a8fcee9edecdc6d510235def8a0c..b66b47fae41d0779e08e0605fee6868916150b15 100644
--- a/imports/QtDesktop/ApplicationWindow.qml
+++ b/imports/QtDesktop/ApplicationWindow.qml
@@ -46,6 +46,7 @@ Window {
     width: 320
     height: 240
 
+    property alias menuBar: menuBarArea.data
     property alias toolBar: toolBarArea.data
     property alias statusBar: statusBarArea.data
     default property alias data: contentArea.data
@@ -58,6 +59,13 @@ Window {
         color: syspal.button
     }
 
+    Column {
+        id: menuBarArea
+        anchors.top: parent.top
+        anchors.left: parent.left
+        anchors.right: parent.right
+    }
+
 
     Column {
         id: toolBarArea
diff --git a/src/qtmenubar.cpp b/src/qtmenubar.cpp
index 9d712bb8ed5b42bebd2408e2952031252837678e..ffbaec05e045615ae0de72aeaceb942f00f94e1c 100644
--- a/src/qtmenubar.cpp
+++ b/src/qtmenubar.cpp
@@ -45,7 +45,7 @@
 #include <QtWidgets/QMenuBar>
 
 QtMenuBar::QtMenuBar(QQuickItem *parent)
-    : QQuickItem(parent), _menuBar(0) /*, _menuBar(new QMenuBar)*/
+    : QQuickItem(parent), _menuBar(new QMenuBar)
 {
     connect(this, SIGNAL(parentChanged(QQuickItem *)), this, SLOT(updateParent(QQuickItem *)));
     setFlag(QQuickItem::ItemHasContents, false);
@@ -62,17 +62,10 @@ QQmlListProperty<QtMenu> QtMenuBar::menus()
 
 void QtMenuBar::updateParent(QQuickItem *newParent)
 {
-    if (QWindowItem* window = qobject_cast<QWindowItem*>(parent()))
-        _menuBar = window->window()->menuBar();
-
-    //THIS IS WRONG... WE NEED TO DO THAT DIFFERENT!
     _menuBar->clear();
-
     foreach (QtMenu *menu, m_menus) {
         _menuBar->addMenu(menu->qmenu());
     }
-    //THIS IS WRONG... WE NEED TO DO THAT DIFFERENT!
-
 }
 
 void QtMenuBar::append_menu(QQmlListProperty<QtMenu> *list, QtMenu *menu)