diff --git a/src/plugins/genericprojectmanager/genericprojectnodes.cpp b/src/plugins/genericprojectmanager/genericprojectnodes.cpp
index d06e1909bd113ca92b44539950056f3915fd3115..1db52cc5f3eb35e4f3a3353bdb2e4e4faabbf180 100644
--- a/src/plugins/genericprojectmanager/genericprojectnodes.cpp
+++ b/src/plugins/genericprojectmanager/genericprojectnodes.cpp
@@ -28,6 +28,7 @@
 **************************************************************************/
 
 #include "genericprojectnodes.h"
+#include <QDir>
 #include <QFileInfo>
 #include <QSettings>
 #include <QtDebug>
@@ -66,12 +67,12 @@ void GenericProjectNode::refresh()
     FileNode *projectFileNode = new FileNode(projectFilePath(), ProjectFileType, /*generated = */ false);
     fileNodes.append(projectFileNode);
 
-    foreach (const QString &file, _files) {
-        QFileInfo fileInfo(file);
+    QDir projectPath(path());
 
+    foreach (const QString &file, _files) {
+        QFileInfo fileInfo(projectPath, file);
         QString filePath = fileInfo.absoluteFilePath();
-
-        FileType fileType = SourceType;
+        FileType fileType = SourceType; // ### FIXME
 
         FileNode *fileNode = new FileNode(filePath, fileType, /*generated = */ false);