diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorgraphicsview.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorgraphicsview.cpp
index 64c302bbd32996b79101dca64ea5bc27a59ecf99..72b657616a52af4d7606c8ca74c9c49d44922aff 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorgraphicsview.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorgraphicsview.cpp
@@ -43,8 +43,9 @@ FormEditorGraphicsView::FormEditorGraphicsView(QWidget *parent) :
     setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
     setResizeAnchor(QGraphicsView::AnchorViewCenter);
 //    setCacheMode(QGraphicsView::CacheNone);
-     setCacheMode(QGraphicsView::CacheBackground);
+    setCacheMode(QGraphicsView::CacheBackground);
     setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);
+    setOptimizationFlags(QGraphicsView::DontSavePainterState);
 //    setViewportUpdateMode(QGraphicsView::NoViewportUpdate);
     setRenderHint(QPainter::Antialiasing, false);
 
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
index 267d2678f76558c99a897d5ec061a23b7a915337..46ade624dc8156dbc1442f5f0211b0e5fccc555f 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
@@ -67,6 +67,7 @@ FormEditorScene::FormEditorScene(FormEditorWidget *view, FormEditorView *editorV
     m_formLayerItem->setZValue(0.0);
     m_formLayerItem->setFlag(QGraphicsItem::ItemClipsChildrenToShape, true);
     view->setScene(this);
+    setItemIndexMethod(QGraphicsScene::NoIndex);
 
 //    setItemIndexMethod(QGraphicsScene::NoIndex);
 }
diff --git a/src/plugins/qmldesigner/core/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/core/instances/nodeinstanceview.cpp
index fb3692fb52b46c1dab4e4843516d0655e5d219d7..024d96b10b43800539cb19df0bcf071d10bda706 100644
--- a/src/plugins/qmldesigner/core/instances/nodeinstanceview.cpp
+++ b/src/plugins/qmldesigner/core/instances/nodeinstanceview.cpp
@@ -95,8 +95,10 @@ NodeInstanceView::NodeInstanceView(QObject *parent)
     m_blockStatePropertyChanges(false)
 {
     m_graphicsView->setAttribute(Qt::WA_DontShowOnScreen, true);
-    m_graphicsView->setViewportUpdateMode(QGraphicsView::NoViewportUpdate);
+    m_graphicsView->setOptimizationFlags(QGraphicsView::DontSavePainterState);
+    m_graphicsView->setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);
     m_graphicsView->setScene(new QGraphicsScene(m_graphicsView.data()));
+    m_graphicsView->scene()->setItemIndexMethod(QGraphicsScene::NoIndex);
 }