diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorgraphicsview.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorgraphicsview.cpp
index e296879968d3ec65346430ce48fb1596095e0d18..97d8bb4f583e1fc69e56a07e564dbe0b0e429590 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorgraphicsview.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorgraphicsview.cpp
@@ -48,7 +48,7 @@ FormEditorGraphicsView::FormEditorGraphicsView(QWidget *parent) :
     setResizeAnchor(QGraphicsView::AnchorViewCenter);
     setCacheMode(QGraphicsView::CacheNone);
 //    setCacheMode(QGraphicsView::CacheBackground);
-    setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);
+    setViewportUpdateMode(QGraphicsView::SmartViewportUpdate);
     setOptimizationFlags(QGraphicsView::DontSavePainterState);
 //    setViewportUpdateMode(QGraphicsView::NoViewportUpdate);
     setRenderHint(QPainter::Antialiasing, false);
@@ -113,7 +113,7 @@ void FormEditorGraphicsView::keyPressEvent(QKeyEvent *event)
 void FormEditorGraphicsView::setRootItemRect(const QRectF &rect)
 {
     m_rootItemRect = rect;
-    update();
+    viewport()->update();
 }
 
 QRectF FormEditorGraphicsView::rootItemRect() const
@@ -304,11 +304,12 @@ void FormEditorGraphicsView::setFeedbackNode(const QmlItemNode &node)
     }
 }
 
-void FormEditorGraphicsView::drawBackground(QPainter *painter, const QRectF &rect)
+void FormEditorGraphicsView::drawBackground(QPainter *painter, const QRectF &rectangle)
 {
     painter->save();
     painter->setBrushOrigin(0, 0);
-    painter->fillRect(rect.intersected(rootItemRect()), backgroundBrush());
+
+    painter->fillRect(rectangle.intersected(rootItemRect()), backgroundBrush());
     // paint rect around editable area
     painter->setPen(Qt::black);
     painter->drawRect( rootItemRect());