diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp
index 4c4b6a4f39f0b87dd91483c9e22de89001fe77c8..0e11f66206fc58136a363c0d93d05d447dd26cb3 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.cpp
+++ b/src/plugins/qmlprojectmanager/qmlproject.cpp
@@ -148,6 +148,12 @@ void QmlProject::addedTarget(ProjectExplorer::Target *target)
         addedRunConfiguration(rc);
 }
 
+void QmlProject::onActiveTargetChanged(ProjectExplorer::Target * /*target*/)
+{
+    // make sure e.g. the default qml imports are adapted
+    refresh(Configuration);
+}
+
 void QmlProject::addedRunConfiguration(ProjectExplorer::RunConfiguration *rc)
 {
     // The enabled state of qml runconfigurations can only be decided after
@@ -408,6 +414,9 @@ bool QmlProject::fromMap(const QVariantMap &map)
     connect(this, SIGNAL(addedTarget(ProjectExplorer::Target*)),
             this, SLOT(addedTarget(ProjectExplorer::Target*)));
 
+    connect(this, SIGNAL(activeTargetChanged(ProjectExplorer::Target*)),
+            this, SLOT(onActiveTargetChanged(ProjectExplorer::Target*)));
+
     return true;
 }
 
diff --git a/src/plugins/qmlprojectmanager/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h
index 4969390cee53398ef89535cb37974894c166ca21..cc34f18f65edbe85ba8cbcef319ec612dfe92a84 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.h
+++ b/src/plugins/qmlprojectmanager/qmlproject.h
@@ -98,6 +98,7 @@ public:
 private slots:
     void refreshFiles(const QSet<QString> &added, const QSet<QString> &removed);
     void addedTarget(ProjectExplorer::Target *target);
+    void onActiveTargetChanged(ProjectExplorer::Target *target);
     void addedRunConfiguration(ProjectExplorer::RunConfiguration *);
 
 protected: