diff --git a/src/plugins/qmldesigner/designercore/instances/graphicsobjectnodeinstance.cpp b/src/plugins/qmldesigner/designercore/instances/graphicsobjectnodeinstance.cpp
index 65b15d4d130dc458b01ad818122c5fb5c48d037d..83232f53f28bb66a7c1af499a81da66279554dcb 100644
--- a/src/plugins/qmldesigner/designercore/instances/graphicsobjectnodeinstance.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/graphicsobjectnodeinstance.cpp
@@ -195,23 +195,20 @@ void GraphicsObjectNodeInstance::paintRecursively(QGraphicsItem *graphicsItem, Q
 
 void GraphicsObjectNodeInstance::paint(QPainter *painter) const
 {
-    painter->save();
-    Q_ASSERT(graphicsObject());
-    if (hasContent()) {
-        QStyleOptionGraphicsItem option;
-        initOption(graphicsObject(), &option, painter->transform());
-        graphicsObject()->paint(painter, &option);
+    if (graphicsObject()) {
+        painter->save();
+        if (hasContent()) {
+            QStyleOptionGraphicsItem option;
+            initOption(graphicsObject(), &option, painter->transform());
+            graphicsObject()->paint(painter, &option);
 
-    }
-    foreach(QGraphicsItem *graphicsItem, graphicsObject()->childItems()) {
-        QGraphicsObject *graphicsObject = qgraphicsitem_cast<QGraphicsObject*>(graphicsItem);
-        if (graphicsObject
-            && !nodeInstanceView()->hasInstanceForObject(graphicsObject))
-            paintRecursively(graphicsItem, painter);
-    }
+        }
 
+        foreach(QGraphicsItem *graphicsItem, graphicsObject()->childItems())
+            paintRecursively(graphicsItem, painter);
 
-    painter->restore();
+        painter->restore();
+    }
 }
 
 QPair<QGraphicsObject*, bool> GraphicsObjectNodeInstance::createGraphicsObject(const NodeMetaInfo &metaInfo, QDeclarativeContext *context)