diff --git a/src/plugins/coreplugin/manhattanstyle.cpp b/src/plugins/coreplugin/manhattanstyle.cpp
index b51e2c90a160b8030500aa70e9ad293191c3cdfd..d608fb99cffcdd9a7722701da84c06e3320eb49b 100644
--- a/src/plugins/coreplugin/manhattanstyle.cpp
+++ b/src/plugins/coreplugin/manhattanstyle.cpp
@@ -83,14 +83,12 @@ bool panelWidget(const QWidget *widget)
     if (qobject_cast<const QDialog *>(widget->window()))
         return false;
 
-    // Style toolbars, statusbar and menubar
-    if (qobject_cast<const QToolBar *>(widget) ||
-        qobject_cast<const QStatusBar *>(widget) ||
-        qobject_cast<const QMenuBar *>(widget))
-        return styleEnabled(widget);
-
     const QWidget *p = widget;
     while (p) {
+        if (qobject_cast<const QToolBar *>(p) ||
+            qobject_cast<const QStatusBar *>(p) ||
+            qobject_cast<const QMenuBar *>(p))
+            return styleEnabled(widget);
         if (p->property("panelwidget").toBool())
             return true;
         p = p->parentWidget();