diff --git a/src/libs/utils/stylehelper.cpp b/src/libs/utils/stylehelper.cpp
index 4d9d98eaef087e0114a39924be8988d2ef33cd0e..9bb00b1b4e8e07b691b6423e5d790d1ff936b729 100644
--- a/src/libs/utils/stylehelper.cpp
+++ b/src/libs/utils/stylehelper.cpp
@@ -70,6 +70,15 @@ qreal StyleHelper::sidebarFontSize()
     return HostOsInfo::isMacHost() ? 10 : 7.5;
 }
 
+QColor StyleHelper::notTooBrightHighlightColor()
+{
+    QColor highlightColor = qApp->palette().highlight().color();
+    if (0.5 * highlightColor.saturationF() + 0.75 - highlightColor.valueF() < 0)
+        highlightColor.setHsvF(highlightColor.hsvHueF(), 0.1 + highlightColor.saturationF() * 2.0, highlightColor.valueF());
+    return highlightColor;
+}
+
+
 QPalette StyleHelper::sidebarFontPalette(const QPalette &original)
 {
     QPalette palette = original;
diff --git a/src/libs/utils/stylehelper.h b/src/libs/utils/stylehelper.h
index 72ffb9b3c14bcc20cb5ff4b0a7eb2b0c15796396..8be341c21f49060ea63f610b4bfdb8a8384dc0d0 100644
--- a/src/libs/utils/stylehelper.h
+++ b/src/libs/utils/stylehelper.h
@@ -70,6 +70,8 @@ public:
     static QColor sidebarHighlight() { return QColor(255, 255, 255, 40); }
     static QColor sidebarShadow() { return QColor(0, 0, 0, 40); }
 
+    static QColor notTooBrightHighlightColor();
+
     // Sets the base color and makes sure all top level widgets are updated
     static void setBaseColor(const QColor &color);
 
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
index 32933e9aabfd093c170b54f4b05fa0ebaa5607dc..9c46e2ac371f269e3dfb450b9f861dd66daeb6f6 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
@@ -31,6 +31,8 @@
 
 #include <utils/fileutils.h>
 #include <utils/qtcassert.h>
+#include <utils/stylehelper.h>
+
 #include <coreplugin/coreconstants.h>
 #include <coreplugin/icore.h>
 #include "itemlibrarymodel.h"
@@ -84,11 +86,7 @@ ItemLibraryWidget::ItemLibraryWidget(QWidget *parent) :
     rootContext->setContextProperty(QStringLiteral("itemLibraryIconWidth"), m_itemIconSize.width());
     rootContext->setContextProperty(QStringLiteral("itemLibraryIconHeight"), m_itemIconSize.height());
 
-    QColor highlightColor = palette().highlight().color();
-    if (0.5*highlightColor.saturationF()+0.75-highlightColor.valueF() < 0)
-        highlightColor.setHsvF(highlightColor.hsvHueF(),0.1 + highlightColor.saturationF()*2.0, highlightColor.valueF());
-    m_itemsView->rootContext()->setContextProperty(QStringLiteral("highlightColor"), highlightColor);
-
+    m_itemsView->rootContext()->setContextProperty(QStringLiteral("highlightColor"), Utils::StyleHelper::notTooBrightHighlightColor());
 
     /* create Resources view and its model */
     m_resourcesFileSystemModel = new QFileSystemModel(this);
diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp
index 1eacd49fe1949db161fec6d5de622437975532d3..7a9b2a36818990659053c1c35f10d8adfc8abfbb 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp
+++ b/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp
@@ -36,6 +36,9 @@
 #include "qproxystyle.h"
 
 #include "metainfo.h"
+
+#include <utils/stylehelper.h>
+
 #include <QLineEdit>
 #include <QPen>
 #include <QPixmapCache>
@@ -47,13 +50,10 @@ namespace QmlDesigner {
 
 void drawSelectionBackground(QPainter *painter, const QStyleOption &option)
 {
-    QWidget colorReference;
-
     painter->save();
     QLinearGradient gradient;
-    QColor highlightColor = colorReference.palette().highlight().color();
-    if (0.5*highlightColor.saturationF()+0.75-highlightColor.valueF() < 0)
-        highlightColor.setHsvF(highlightColor.hsvHueF(),0.1 + highlightColor.saturationF()*2.0, highlightColor.valueF());
+
+    QColor highlightColor = Utils::StyleHelper::notTooBrightHighlightColor();
     gradient.setColorAt(0, highlightColor.lighter(130));
     gradient.setColorAt(1, highlightColor.darker(130));
     gradient.setStart(option.rect.topLeft());
diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp
index 69af261ef57bb81268a8059b48a236ef1c75e17a..9caa3b645405cacb50b9d29f373358f2b5f8db92 100644
--- a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp
+++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp
@@ -36,6 +36,7 @@
 
 #include <coreplugin/icore.h>
 #include <utils/qtcassert.h>
+#include <utils/stylehelper.h>
 
 #include <QApplication>
 
@@ -103,10 +104,8 @@ StatesEditorWidget::StatesEditorWidget(StatesEditorView *statesEditorView, State
     container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
 
     m_quickView->rootContext()->setContextProperty(QStringLiteral("statesEditorModel"), statesEditorModel);
-    QColor highlightColor = palette().highlight().color();
-    if (0.5*highlightColor.saturationF()+0.75-highlightColor.valueF() < 0)
-        highlightColor.setHsvF(highlightColor.hsvHueF(),0.1 + highlightColor.saturationF()*2.0, highlightColor.valueF());
-    m_quickView->rootContext()->setContextProperty(QStringLiteral("highlightColor"), highlightColor);
+    m_quickView->rootContext()->setContextProperty(QStringLiteral("highlightColor"), Utils::StyleHelper::notTooBrightHighlightColor());
+
 
     m_quickView->rootContext()->setContextProperty("canAddNewStates", true);