diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp
index 479d064a1f963ab8ea67fefde7f2808a1248bbf5..a70241602eb4544597d2efe3870be07656139e70 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserverproxy.cpp
@@ -95,6 +95,11 @@ NodeInstanceServerProxy::NodeInstanceServerProxy(NodeInstanceView *nodeInstanceV
 #endif
    applicationPath += "/qmlpuppet";
 
+   QByteArray envImportPath = qgetenv("QTCREATOR_QMLPUPPET_PATH");
+   if (!envImportPath.isEmpty()) {
+       applicationPath = envImportPath;
+   }
+
    m_qmlPuppetEditorProcess = new QProcess;
    connect(m_qmlPuppetEditorProcess.data(), SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(processFinished(int,QProcess::ExitStatus)));
    connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), m_qmlPuppetEditorProcess.data(), SLOT(kill()));