diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
index ce1d1d87cd43c0c405b735b2ca52bd40363e65b4..ba8e2e3245e37af12f5d3435d3456dc50a546ca7 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
@@ -79,8 +79,10 @@ static QTransform transformForItem(QQuickItem *item, NodeInstanceServer *nodeIns
 }
 
 QTransform QuickItemNodeInstance::transform() const
-{
-    return transformForItem(quickItem(), nodeInstanceServer());
+{   if (quickItem()->parentItem())
+        return DesignerSupport::parentTransform(quickItem());;
+
+    return QTransform();
 }
 
 
@@ -146,9 +148,23 @@ QRectF QuickItemNodeInstance::contentItemBoundingBox() const
     return QRectF();
 }
 
+static QTransform contentItemTransformForItem(QQuickItem *item, NodeInstanceServer *nodeInstanceServer)
+{
+    QTransform toParentTransform = DesignerSupport::parentTransform(item);
+    if (item->parentItem() && !nodeInstanceServer->hasInstanceForObject(item->parentItem())) {
+
+        return transformForItem(item->parentItem(), nodeInstanceServer) * toParentTransform;
+    }
+
+    return toParentTransform;
+}
+
 QTransform QuickItemNodeInstance::contentItemTransform() const
 {
-    return DesignerSupport::parentTransform(contentItem());
+    if (contentItem())
+        return contentItemTransformForItem(contentItem(), nodeInstanceServer());
+
+    return QTransform();
 }