diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
index a850ba3ac64213c4edcc2d47c2a0404a204d0e3b..85f490913876cc646a64895bee0b4e1b07e07b7d 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
@@ -436,11 +436,6 @@ QList<ProjectExplorer::Project *> CMakeProject::dependsOn()
     return QList<Project *>();
 }
 
-bool CMakeProject::isApplication() const
-{
-    return true;
-}
-
 ProjectExplorer::BuildConfigWidget *CMakeProject::createConfigWidget()
 {
     return new CMakeBuildSettingsWidget(this);
diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.h b/src/plugins/cmakeprojectmanager/cmakeproject.h
index 2c29c4576469da89385d0917a8ffe8d55e15eb0c..7242f92905eacc453f91599d015df6160e1c93fc 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.h
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.h
@@ -83,8 +83,6 @@ public:
 
     QList<ProjectExplorer::Project *> dependsOn(); //NBS TODO implement dependsOn
 
-    bool isApplication() const;
-
     ProjectExplorer::BuildConfigWidget *createConfigWidget();
     QList<ProjectExplorer::BuildConfigWidget*> subConfigWidgets();
 
diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp
index 88af20a68fef78e00752a49a1ec8c53e95af5689..c21d3744b06ce5d7b8295b82ef289e53f3502726 100644
--- a/src/plugins/genericprojectmanager/genericproject.cpp
+++ b/src/plugins/genericprojectmanager/genericproject.cpp
@@ -388,11 +388,6 @@ QList<ProjectExplorer::Project *> GenericProject::dependsOn()
     return QList<Project *>();
 }
 
-bool GenericProject::isApplication() const
-{
-    return true;
-}
-
 ProjectExplorer::BuildConfigWidget *GenericProject::createConfigWidget()
 {
     return new GenericBuildSettingsWidget(this);
diff --git a/src/plugins/genericprojectmanager/genericproject.h b/src/plugins/genericprojectmanager/genericproject.h
index 124ae9f1449d091b1288cf51acd405b6fff44060..884d7a10f867c3b1f1c1c88f70b6c3cfa20fbc04 100644
--- a/src/plugins/genericprojectmanager/genericproject.h
+++ b/src/plugins/genericprojectmanager/genericproject.h
@@ -78,8 +78,6 @@ public:
 
     QList<ProjectExplorer::Project *> dependsOn();
 
-    bool isApplication() const;
-
     ProjectExplorer::BuildConfigWidget *createConfigWidget();
     QList<ProjectExplorer::BuildConfigWidget*> subConfigWidgets();
 
diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h
index 10b6bb3953f922fab2ef085acd37fba66605567b..79f4f8ba4aa2d2719a9d70afa7d1dad9367f1da0 100644
--- a/src/plugins/projectexplorer/project.h
+++ b/src/plugins/projectexplorer/project.h
@@ -72,7 +72,6 @@ public:
 
     virtual QList<Project *> dependsOn() = 0; //NBS TODO implement dependsOn
 
-    virtual bool isApplication() const = 0;
     bool hasActiveBuildSettings() const;
 
     // EditorConfiguration:
diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp
index 2f2c7340f76b75fa18be59afc680cecd42b0f439..da7ad5254c0600692a424c4559b4b145aa997258 100644
--- a/src/plugins/projectexplorer/session.cpp
+++ b/src/plugins/projectexplorer/session.cpp
@@ -598,8 +598,8 @@ void SessionManager::addProjects(const QList<Project*> &projects)
 
     // maybe we have a new startup project?
     if (!startupProject())
-        if (Project *newStartupProject = defaultStartupProject())
-            setStartupProject(newStartupProject);
+        if (!m_file->m_projects.isEmpty())
+            setStartupProject(m_file->m_projects.first());
 }
 
 void SessionManager::removeProject(Project *project)
@@ -631,7 +631,7 @@ bool SessionManager::createImpl(const QString &fileName)
         delete m_file;
         m_file = new SessionFile;
         m_file->setFileName(fileName);
-        setStartupProject(defaultStartupProject());
+        setStartupProject(0);
     }
 
     m_defaultVirginSession = false;
@@ -792,16 +792,6 @@ QStringList SessionManager::dependenciesOrder() const
     return ordered;
 }
 
-Project *SessionManager::defaultStartupProject() const
-{
-    // Just take first one
-    foreach (Project *p, m_file->m_projects) {
-        if (p->isApplication())
-            return p;
-    }
-    return 0;
-}
-
 QList<Project *> SessionManager::projectOrder(Project *project) const
 {
     QList<Project *> result;
@@ -1010,8 +1000,8 @@ void SessionManager::removeProjects(QList<Project *> remove)
     m_file->m_depMap = resMap;
 
     if (startupProject() == 0)
-        if (Project *newStartupProject = defaultStartupProject())
-            setStartupProject(newStartupProject);
+        if (!m_file->m_projects.isEmpty())
+            setStartupProject(m_file->m_projects.first());
 }
 
 void SessionManager::setValue(const QString &name, const QVariant &value)
diff --git a/src/plugins/projectexplorer/session.h b/src/plugins/projectexplorer/session.h
index f7b5d246d6834d866b3bdc58b6fa99de2cbec2d6..16397e4a1f3a0f0dfa1cc6dabf528fdf1c1ec230 100644
--- a/src/plugins/projectexplorer/session.h
+++ b/src/plugins/projectexplorer/session.h
@@ -184,7 +184,6 @@ private:
     bool recursiveDependencyCheck(const QString &newDep, const QString &checkDep) const;
     QStringList dependencies(const QString &proName) const;
     QStringList dependenciesOrder() const;
-    Project *defaultStartupProject() const;
 
     void updateName(const QString &session);
 
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp
index 89aeba3d6ca1d2f955bb76216131ad29508a199b..a6ff729c8e38779b960fab46d6303a772ce5398d 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.cpp
+++ b/src/plugins/qmlprojectmanager/qmlproject.cpp
@@ -223,11 +223,6 @@ QList<ProjectExplorer::Project *> QmlProject::dependsOn()
     return QList<Project *>();
 }
 
-bool QmlProject::isApplication() const
-{
-    return true;
-}
-
 ProjectExplorer::BuildConfigWidget *QmlProject::createConfigWidget()
 {
     return 0;
diff --git a/src/plugins/qmlprojectmanager/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h
index 2df755c46a8dd098f99a12627142466994d10326..a1903dfc0851b1e48b0e540efbdd396808b96f22 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.h
+++ b/src/plugins/qmlprojectmanager/qmlproject.h
@@ -77,8 +77,6 @@ public:
 
     QList<ProjectExplorer::Project *> dependsOn();
 
-    bool isApplication() const;
-
     ProjectExplorer::BuildConfigWidget *createConfigWidget();
     QList<ProjectExplorer::BuildConfigWidget*> subConfigWidgets();
 
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index 5ea18c2e30ac82ee9b4ccab622bd9a6767ee08d9..2af165845b059f9d254b75bd3b8060d43233f541 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -241,7 +241,6 @@ Qt4Project::Qt4Project(Qt4Manager *manager, const QString& fileName) :
     m_nodesWatcher(new Internal::Qt4NodesWatcher(this)),
     m_targetFactory(new Qt4TargetFactory(this)),
     m_fileInfo(new Qt4ProjectFile(this, fileName, this)),
-    m_isApplication(true),
     m_projectFiles(new Qt4ProjectFiles),
     m_proFileOption(0),
     m_asyncUpdateFutureInterface(0),
@@ -820,14 +819,6 @@ void Qt4Project::asyncUpdate()
     m_asyncUpdateState = AsyncUpdateInProgress;
 }
 
-/*!
-  Returns whether the project is an application, or has an application as a subproject.
- */
-bool Qt4Project::isApplication() const
-{
-    return m_isApplication;
-}
-
 ProjectExplorer::IProjectManager *Qt4Project::projectManager() const
 {
     return m_manager;
@@ -1007,7 +998,6 @@ void Qt4Project::checkForNewApplicationProjects()
             }
             if (!found) {
                 qt4Target->addRunConfigurationForPath(qt4proFile->path());
-                m_isApplication = true;
             }
         }
     }
@@ -1035,7 +1025,6 @@ void Qt4Project::checkForDeletedApplicationProjects()
 
         if (target->runConfigurations().isEmpty()) {
             target->addRunConfiguration(new ProjectExplorer::CustomExecutableRunConfiguration(target));
-            m_isApplication = false;
         }
     }
 }
diff --git a/src/plugins/qt4projectmanager/qt4project.h b/src/plugins/qt4projectmanager/qt4project.h
index 324b78825d3483d0d93f8d1f6db62c7e9cb69f85..ade24435a47f415d0ad7ae1af3585461272b48a9 100644
--- a/src/plugins/qt4projectmanager/qt4project.h
+++ b/src/plugins/qt4projectmanager/qt4project.h
@@ -127,8 +127,6 @@ public:
     QList<Core::IFile *> dependencies();     //NBS remove
     QList<ProjectExplorer::Project *>dependsOn();
 
-    bool isApplication() const;
-
     Internal::Qt4ProFileNode *rootProjectNode() const;
 
     virtual QStringList files(FilesMode fileMode) const;
@@ -208,7 +206,6 @@ private:
     Internal::Qt4TargetFactory *m_targetFactory;
 
     Qt4ProjectFile *m_fileInfo;
-    bool m_isApplication;
 
     // Current configuration
     QString m_oldQtIncludePath;