diff --git a/src/plugins/qttest/qttestplugin.cpp b/src/plugins/qttest/qttestplugin.cpp
index 21bc4ef3f9f21481724a7c13f04ec5985f7f1386..0e028c5a867aa4ff1bf7dfcb3365c0740c6521c5 100644
--- a/src/plugins/qttest/qttestplugin.cpp
+++ b/src/plugins/qttest/qttestplugin.cpp
@@ -198,6 +198,9 @@ void QtTestPlugin::extensionsInitialized()
     ProjectExplorer::ProjectExplorerPlugin *explorer =
         ProjectExplorer::ProjectExplorerPlugin::instance();
 
+    connect(explorer->session(), SIGNAL(startupProjectChanged(ProjectExplorer::Project*)),
+        this, SLOT(onStartupProjectChanged(ProjectExplorer::Project *)));
+
     connect(core->progressManager(), SIGNAL(allTasksFinished(QString)),
         this, SLOT(onAllTasksFinished(QString)));
 
@@ -215,6 +218,11 @@ void QtTestPlugin::onDefectSelected(TestCaseRec rec)
     }
 }
 
+void QtTestPlugin::onStartupProjectChanged(ProjectExplorer::Project *project)
+{
+    TestConfigurations::instance().setActiveConfiguration(project);
+}
+
 void QtTestPlugin::onProjectRemoved(ProjectExplorer::Project *project)
 {
     if (project == startupProject())
diff --git a/src/plugins/qttest/qttestplugin.h b/src/plugins/qttest/qttestplugin.h
index e8d9f08f71013a3380eda2af681adffa5a2fd54b..d54459011f9ed6964b93e72e2760d142a8e45745 100644
--- a/src/plugins/qttest/qttestplugin.h
+++ b/src/plugins/qttest/qttestplugin.h
@@ -71,6 +71,7 @@ public:
 
 public slots:
     void onDefectSelected(TestCaseRec rec);
+    void onStartupProjectChanged(ProjectExplorer::Project *project);
     void onProjectRemoved(ProjectExplorer::Project *project);
     void onAllTasksFinished(const QString &);