diff --git a/src/plugins/genericprojectmanager/genericprojectnodes.cpp b/src/plugins/genericprojectmanager/genericprojectnodes.cpp
index 89b5a683a22d3268ec2bdbd0717f0e96d56a07d7..c411de730da36d26af2b073d4a5f3dc53de383f5 100644
--- a/src/plugins/genericprojectmanager/genericprojectnodes.cpp
+++ b/src/plugins/genericprojectmanager/genericprojectnodes.cpp
@@ -119,7 +119,9 @@ void GenericProjectNode::refresh(QSet<QString> oldFileList)
     QString baseDir = QFileInfo(path()).absolutePath();
     QHash<QString, QStringList> filesInPaths = sortFilesIntoPaths(baseDir, added);
     foreach (const QString &filePath, filesInPaths.keys()) {
-        QStringList components = filePath.split(QLatin1Char('/'));
+        QStringList components;
+        if (!filePath.isEmpty())
+            components = filePath.split(QLatin1Char('/'));
         FolderNode *folder = findFolderByName(components, components.size());
         if (!folder)
             folder = createFolderByName(components, components.size());
@@ -136,7 +138,9 @@ void GenericProjectNode::refresh(QSet<QString> oldFileList)
 
     filesInPaths = sortFilesIntoPaths(baseDir, removed);
     foreach (const QString &filePath, filesInPaths.keys()) {
-        QStringList components = filePath.split(QLatin1Char('/'));
+        QStringList components;
+        if (!filePath.isEmpty())
+            components = filePath.split(QLatin1Char('/'));
         FolderNode *folder = findFolderByName(components, components.size());
 
         QList<FileNode *> fileNodes;
@@ -176,9 +180,6 @@ FolderNode *GenericProjectNode::createFolderByName(const QStringList &components
 
     const QString component = components.at(end - 1);
 
-    if (component.isEmpty())
-        return this;
-
     const QString baseDir = QFileInfo(path()).path();
     FolderNode *folder = new FolderNode(baseDir + QLatin1Char('/') + folderName);
     folder->setDisplayName(component);