diff --git a/src/plugins/qmldesigner/designercore/include/nodeinstance.h b/src/plugins/qmldesigner/designercore/include/nodeinstance.h
index d0a6a9071b981c260a59dd7b68b9bc4d7d027bb8..c2fce99b77be3ed0f29e3c136b17c3506b26d012 100644
--- a/src/plugins/qmldesigner/designercore/include/nodeinstance.h
+++ b/src/plugins/qmldesigner/designercore/include/nodeinstance.h
@@ -140,6 +140,7 @@ public:
 
 #ifdef QTCREATOR_TEST
     QObject* testHandle() const;
+    Internal::ObjectNodeInstance* internalInstance() const;
 #endif
 private: // functions
     NodeInstance(const QSharedPointer<Internal::ObjectNodeInstance> &abstractInstance);
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp
index d65fb2feac7c83dff5f6ea9a8e521b7e6098521c..d331d9cf8063c00e84dfd8d6cb12bb2ee5b5f786 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp
@@ -645,6 +645,11 @@ QObject* NodeInstance::testHandle() const
 {
     return internalObject();
 }
+Internal::ObjectNodeInstance* NodeInstance::internalInstance() const
+{
+    return m_nodeInstance.data();
+}
+
 #endif
 
 } // namespace QmlDesigner
diff --git a/src/plugins/qmldesigner/designercore/instances/objectnodeinstance.cpp b/src/plugins/qmldesigner/designercore/instances/objectnodeinstance.cpp
index dd6462f8c557cb075ab64d88c0ba5e4045c01179..e9dae47e9d6865e06177cb5ec5f5b541b6f8e033 100644
--- a/src/plugins/qmldesigner/designercore/instances/objectnodeinstance.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/objectnodeinstance.cpp
@@ -696,6 +696,11 @@ QDeclarativeContext *ObjectNodeInstance::context() const
     return 0;
 }
 
+QDeclarativeEngine *ObjectNodeInstance::engine() const
+{
+    return nodeInstanceView()->engine();
+}
+
 void ObjectNodeInstance::paintUpdate()
 {
 }
diff --git a/src/plugins/qmldesigner/designercore/instances/objectnodeinstance.h b/src/plugins/qmldesigner/designercore/instances/objectnodeinstance.h
index aaa0d6a9ceb4f8db6b6a35acd6b4b3d8117218c7..48c13e1b2262f63de267740ba1c0dff19a480bcc 100644
--- a/src/plugins/qmldesigner/designercore/instances/objectnodeinstance.h
+++ b/src/plugins/qmldesigner/designercore/instances/objectnodeinstance.h
@@ -44,6 +44,7 @@
 QT_BEGIN_NAMESPACE
 class QGraphicsItem;
 class QDeclarativeContext;
+class QDeclarativeEngine;
 class QDeclarativeProperty;
 class QDeclarativeContext;
 class QDeclarativeBinding;
@@ -166,6 +167,7 @@ public:
     bool hasBindingForProperty(const QString &name) const;
 
     QDeclarativeContext *context() const;
+    QDeclarativeEngine *engine() const;
 
     virtual bool updateStateVariant(const NodeInstance &target, const QString &propertyName, const QVariant &value);
     virtual bool updateStateBinding(const NodeInstance &target, const QString &propertyName, const QString &expression);