diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp
index 88f7b53e5599203c877ad8759c06f2b640bc2d94..a8e14e986893b9e035e60483a0bfa2bfc135bb42 100644
--- a/src/plugins/projectexplorer/session.cpp
+++ b/src/plugins/projectexplorer/session.cpp
@@ -527,6 +527,9 @@ void SessionManager::setStartupProject(Project *startupProject)
         Q_ASSERT(m_file->m_projects.contains(startupProject));
     }
 
+    if (m_file->m_startupProject == startupProject)
+        return;
+
     m_file->m_startupProject = startupProject;
     emit startupProjectChanged(startupProject);
 }