diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp
index 1a33bbf21527c2fa28e81d932da343ccaaf03e01..e2a9ea8d9d280e5d3f617825516264b313fed0ab 100644
--- a/src/plugins/qt4projectmanager/qt4nodes.cpp
+++ b/src/plugins/qt4projectmanager/qt4nodes.cpp
@@ -904,13 +904,19 @@ QStringList Qt4ProFileNode::subDirsPaths(ProFileReader *reader) const
         // Special case were subdir is just an identifier:
         //   "SUBDIR = subid
         //    subid.subdir = realdir"
+        // or
+        //   "SUBDIR = subid
+        //    subid.file = realdir/realfile.pro"
 
         QString realDir;
         QString realFile;
         const QString subDirKey = subDirVar + QLatin1String(".subdir");
+        const QString subDirFileKey = subDirVar + QLatin1String(".file");
         if (reader->contains(subDirKey))
             realDir = QFileInfo(reader->value(subDirKey)).filePath();
-         else
+        else if (reader->contains(subDirFileKey))
+            realDir = QFileInfo(reader->value(subDirFileKey)).filePath();
+        else
             realDir = subDirVar;
         QFileInfo info(realDir);
         if (!info.isAbsolute())
diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.cpp b/src/plugins/qt4projectmanager/qt4projectmanager.cpp
index e22f19278f5073989205d113ec1a25744699ab4d..df1d613dc309d89378894e7024f041e43246a4f7 100644
--- a/src/plugins/qt4projectmanager/qt4projectmanager.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectmanager.cpp
@@ -130,13 +130,6 @@ QString Qt4Manager::mimeType() const
 
 ProjectExplorer::Project* Qt4Manager::openProject(const QString &fileName)
 {
-    typedef QMultiMap<QString, QString> DependencyMap;
-    const QString dotSubDir = QLatin1String(".subdir");
-    const QString dotDepends = QLatin1String(".depends");
-    const QChar slash = QLatin1Char('/');
-
-    QString errorMessage;
-
     Core::MessageManager *messageManager = Core::ICore::instance()->messageManager();
     messageManager->displayStatusBarMessage(tr("Loading project %1 ...").arg(fileName), 50000);