diff --git a/src/plugins/qmldesigner/core/metainfo/nodemetainfo.cpp b/src/plugins/qmldesigner/core/metainfo/nodemetainfo.cpp
index 883962030efdf010df1afa25b15a74176286322a..6cdc376ccea06068359c2790c2a9b0cffc5b791f 100644
--- a/src/plugins/qmldesigner/core/metainfo/nodemetainfo.cpp
+++ b/src/plugins/qmldesigner/core/metainfo/nodemetainfo.cpp
@@ -176,7 +176,7 @@ QObject *NodeMetaInfo::createInstance(QDeclarativeContext *context) const
         // qml component
         // TODO: This is maybe expensive ...
         QDeclarativeComponent component(context->engine(), QUrl::fromLocalFile(m_data->qmlFile));
-        object = component.create(context);
+        object = component.create(new QDeclarativeContext(context));
     } else {
         // primitive
         object = QDeclarativeMetaType::qmlType(typeName().toAscii(), minorVersion(), majorVersion())->create();