diff --git a/src/controls/qquickmenu.cpp b/src/controls/qquickmenu.cpp
index 088e6ad5accf0018b9338fcf3b0d6e95502a5036..efc49cd6458291d4da7e573fd002d8791ea9e6cd 100644
--- a/src/controls/qquickmenu.cpp
+++ b/src/controls/qquickmenu.cpp
@@ -255,6 +255,8 @@ QQuickMenu::QQuickMenu(QObject *parent)
         if (platformItem())
             platformItem()->setMenu(m_platformMenu);
     }
+    if (const QFont *font = QGuiApplicationPrivate::platformTheme()->font(QPlatformTheme::MenuItemFont))
+        m_font = *const_cast<QFont*>(font);
 }
 
 QQuickMenu::~QQuickMenu()
@@ -288,6 +290,10 @@ void QQuickMenu::setMinimumWidth(int w)
 
 void QQuickMenu::setFont(const QFont &arg)
 {
+    if (arg == m_font)
+        return;
+
+    m_font = arg;
     if (m_platformMenu)
         m_platformMenu->setFont(arg);
 }
diff --git a/src/controls/qquickmenu_p.h b/src/controls/qquickmenu_p.h
index d57de12668b9fb6d86c9b0badf95e63ce77430f0..6207e3e0f54db9d72a58701e8348d2dca0a4fd03 100644
--- a/src/controls/qquickmenu_p.h
+++ b/src/controls/qquickmenu_p.h
@@ -48,6 +48,7 @@
 #include <QtCore/qvariant.h>
 #include <QtQml/qqml.h>
 #include <QtQml/qqmllist.h>
+#include <QtGui/QFont>
 
 QT_BEGIN_NAMESPACE
 
@@ -69,7 +70,7 @@ class QQuickMenu : public QQuickMenuText
     Q_PROPERTY(bool __popupVisible READ popupVisible NOTIFY popupVisibleChanged)
     Q_PROPERTY(QQuickItem *__contentItem READ menuContentItem WRITE setMenuContentItem)
     Q_PROPERTY(int __minimumWidth READ minimumWidth WRITE setMinimumWidth)
-    Q_PROPERTY(QFont __font WRITE setFont)
+    Q_PROPERTY(QFont __font READ font WRITE setFont)
     Q_PROPERTY(qreal __xOffset READ xOffset WRITE setXOffset)
     Q_PROPERTY(qreal __yOffset READ yOffset WRITE setYOffset)
 
@@ -116,6 +117,7 @@ public:
     void setMinimumWidth(int w);
 
     void setFont(const QFont &font);
+    QFont font() const { return m_font; }
 
     qreal xOffset() const { return m_xOffset; }
     void setXOffset(qreal);
@@ -171,6 +173,7 @@ private:
     int m_containersCount;
     qreal m_xOffset;
     qreal m_yOffset;
+    QFont m_font;
 };
 
 QT_END_NAMESPACE