diff --git a/src/libs/utils/styledbar.cpp b/src/libs/utils/styledbar.cpp
index 99a86437d0638ff2bba8d94dcb4332cd5313f5d1..8911af6d6fe49214c4066131b8b4f5e0c186652b 100644
--- a/src/libs/utils/styledbar.cpp
+++ b/src/libs/utils/styledbar.cpp
@@ -6,6 +6,7 @@
 #include <QtGui/QPainter>
 #include <QtGui/QPixmapCache>
 #include <QtGui/QStyle>
+#include <QtGui/QStyleOption>
 
 using namespace Core::Utils;
 
@@ -30,48 +31,10 @@ void StyledBar::paintEvent(QPaintEvent *event)
 {
     Q_UNUSED(event)
     QPainter painter(this);
-
-    QRect selfRect = rect();
-    QString key;
-    key.sprintf("mh_toolbar %d %d %d", selfRect.width(), selfRect.height(), StyleHelper::baseColor().rgb());;
-
-    QPixmap pixmap;
-    QPainter *p = &painter;
-    if (StyleHelper::usePixmapCache() && !QPixmapCache::find(key, pixmap)) {
-        pixmap = QPixmap(selfRect.size());
-        p = new QPainter(&pixmap);
-        selfRect = QRect(0, 0, selfRect.width(), selfRect.height());
-    }
-
-    // Map offset for global window gradient
-    QPoint offset = window()->mapToGlobal(selfRect.topLeft()) -
-                                                  mapToGlobal(selfRect.topLeft());
-    QRect gradientSpan;
-    gradientSpan = QRect(offset, window()->size());
-    StyleHelper::horizontalGradient(p, gradientSpan, selfRect);
-
-    p->setPen(StyleHelper::borderColor());
-
-    // Note: This is a hack to determine if the
-    // toolbar should draw the top or bottom outline
-    // (needed for the find toolbar for instance)
-    QColor lighter(255, 255, 255, 40);
-    if (property("topBorder").toBool()) {
-        p->drawLine(selfRect.topLeft(), selfRect.topRight());
-        p->setPen(lighter);
-        p->drawLine(selfRect.topLeft() + QPoint(0, 1), selfRect.topRight() + QPoint(0, 1));
-    } else {
-        p->drawLine(selfRect.bottomLeft(), selfRect.bottomRight());
-        p->setPen(lighter);
-        p->drawLine(selfRect.topLeft(), selfRect.topRight());
-    }
-
-    if (StyleHelper::usePixmapCache() && !QPixmapCache::find(key, pixmap)) {
-        painter.drawPixmap(selfRect.topLeft(), pixmap);
-        p->end();
-        delete p;
-        QPixmapCache::insert(key, pixmap);
-    }
+    QStyleOption option;
+    option.rect = rect();
+    option.state = QStyle::State_Horizontal;
+    style()->drawControl(QStyle::CE_ToolBar, &option, &painter, this);
 }
 
 StyledSeparator::StyledSeparator(QWidget *parent)
@@ -84,15 +47,9 @@ void StyledSeparator::paintEvent(QPaintEvent *event)
 {
     Q_UNUSED(event)
     QPainter painter(this);
-    QRect selfRect = rect();
-
-    QColor separatorColor = StyleHelper::borderColor();
-    separatorColor.setAlpha(100);
-    painter.setPen(separatorColor);
-    const int margin = 6;
-    const int offset = selfRect.width()/2;
-    painter.drawLine(selfRect.bottomLeft().x() + offset,
-                selfRect.bottomLeft().y() - margin,
-                selfRect.topLeft().x() + offset,
-                selfRect.topLeft().y() + margin);
+    QStyleOption option;
+    option.rect = rect();
+    option.state = QStyle::State_Horizontal;
+    option.palette = palette();
+    style()->drawPrimitive(QStyle::PE_IndicatorToolBarSeparator, &option, &painter, this);
 }