diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp
index 04066d750e3524c99543268923d742a625463a44..622644cd248eb6695a856705d552659bcdc1589d 100644
--- a/src/plugins/projectexplorer/projectnodes.cpp
+++ b/src/plugins/projectexplorer/projectnodes.cpp
@@ -313,24 +313,6 @@ void FolderNode::setIcon(const QIcon &icon)
     m_icon = icon;
 }
 
-FileNode *FolderNode::findFile(const QString &path)
-{
-    foreach (FileNode *n, fileNodes()) {
-        if (n->path() == path)
-            return n;
-    }
-    return 0;
-}
-
-FolderNode *FolderNode::findSubFolder(const QString &path)
-{
-    foreach (FolderNode *n, subFolderNodes()) {
-        if (n->path() == path)
-            return n;
-    }
-    return 0;
-}
-
 bool FolderNode::addFiles(const QStringList &filePaths, QStringList *notAdded)
 {
     if (projectNode())
diff --git a/src/plugins/projectexplorer/projectnodes.h b/src/plugins/projectexplorer/projectnodes.h
index 6592bcd1667a6526cd74898a118e7a667031b297..f15de786bf52f31957deb97b7939bedb65c2f079 100644
--- a/src/plugins/projectexplorer/projectnodes.h
+++ b/src/plugins/projectexplorer/projectnodes.h
@@ -174,9 +174,6 @@ public:
     void setDisplayName(const QString &name);
     void setIcon(const QIcon &icon);
 
-    FileNode *findFile(const QString &path);
-    FolderNode *findSubFolder(const QString &path);
-
     virtual bool addFiles(const QStringList &filePaths, QStringList *notAdded = 0);
     virtual bool removeFiles(const QStringList &filePaths, QStringList *notRemoved = 0);
     virtual bool deleteFiles(const QStringList &filePaths);
diff --git a/src/plugins/qbsprojectmanager/qbsnodes.cpp b/src/plugins/qbsprojectmanager/qbsnodes.cpp
index 5ad45828fdef7012b520f815e8142c24687a15ef..8ea6551dcd3bf24f7bca83c57c4e0ce8b7981370 100644
--- a/src/plugins/qbsprojectmanager/qbsnodes.cpp
+++ b/src/plugins/qbsprojectmanager/qbsnodes.cpp
@@ -424,7 +424,14 @@ void QbsGroupNode::setupFolder(ProjectExplorer::FolderNode *root,
 
         // Handle files:
         if (c->isFile()) {
-            ProjectExplorer::FileNode *fn = root->findFile(path);
+            ProjectExplorer::FileNode *fn = 0;
+            foreach (ProjectExplorer::FileNode *f, root->fileNodes()) {
+                // There can be one match only here!
+                if (f->path() != path)
+                    continue;
+                fn = f;
+                break;
+            }
             if (fn) {
                 filesToRemove.removeOne(fn);
                 if (updateExisting)
@@ -435,7 +442,14 @@ void QbsGroupNode::setupFolder(ProjectExplorer::FolderNode *root,
             }
             continue;
         } else {
-            FolderNode *fn = root->findSubFolder(c->path());
+            ProjectExplorer::FolderNode *fn = 0;
+            foreach (ProjectExplorer::FolderNode *f, root->subFolderNodes()) {
+                // There can be one match only here!
+                if (f->path() != path)
+                    continue;
+                fn = f;
+                break;
+            }
             if (!fn) {
                 fn = new FolderNode(c->path());
                 root->addFolderNodes(QList<FolderNode *>() << fn);