diff --git a/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp b/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp
index 7691710429f36cdaed96dfdf9c27353834ea9e37..be4a479ef88715baf69f6ae4a57fe3dfde6e4af5 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp
@@ -72,7 +72,10 @@ void FormEditorItem::setup()
 {
     if (qmlItemNode().hasInstanceParent()) {
         setParentItem(scene()->itemForQmlItemNode(qmlItemNode().instanceParent().toQmlItemNode()));
+        setVisible(true);
         setOpacity(qmlItemNode().instanceValue("opacity").toDouble());
+    } else if (!qmlItemNode().isRootNode()){
+        setVisible(false);
     }
 
     setFlag(QGraphicsItem::ItemClipsChildrenToShape, qmlItemNode().instanceValue("clip").toBool());
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
index 14058de2ac28241b946a1d9ea599e246907ff59f..cbe41a4ace52973127f585bd72dbd3ee6bbceffd 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
@@ -204,6 +204,8 @@ FormEditorItem *FormEditorScene::addFormEditorItem(const QmlItemNode &qmlItemNod
        manipulatorLayerItem()->update();
     }
 
+
+
     return formEditorItem;
 }
 
@@ -342,6 +344,12 @@ void FormEditorScene::reparentItem(const QmlItemNode &node, const QmlItemNode &n
 
     if (item->parentItem() != parentItem) {
         item->setParentItem(parentItem);
+        if (parentItem) {
+            item->setVisible(true);
+        } else {
+            item->setVisible(false);
+        }
+
         item->update();
     }
 }
@@ -370,8 +378,10 @@ void FormEditorScene::clearFormEditorItems()
     QList<QGraphicsItem*> itemList(items());
 
     foreach (QGraphicsItem *item, itemList) {
-        if (qgraphicsitem_cast<FormEditorItem* >(item))
+        if (qgraphicsitem_cast<FormEditorItem* >(item)) {
             item->setParentItem(0);
+            item->setVisible(false);
+        }
     }
 
     foreach (QGraphicsItem *item, itemList) {