diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp
index 888c45f26524710eec649affc5b140467e0f8c41..132b7ef3afcda4628b41ff16ca53135e5626c60c 100644
--- a/src/plugins/qt4projectmanager/qt4nodes.cpp
+++ b/src/plugins/qt4projectmanager/qt4nodes.cpp
@@ -644,15 +644,22 @@ void Qt4PriFileNode::watchFolders(const QSet<QString> &folders)
     m_watchedFolders = folders;
 }
 
-void Qt4PriFileNode::folderChanged(const QString &)
+void Qt4PriFileNode::folderChanged(const QString &folder)
 {
     //qDebug()<<"########## Qt4PriFileNode::folderChanged";
     // So, we need to figure out which files changed.
 
+    QString changedFolder = folder;
+    if (!changedFolder.endsWith(QLatin1Char('/')))
+        changedFolder.append(QLatin1Char('/'));
+
     // Collect all the files
     QSet<QString> newFiles;
-    foreach (const QString &folder, m_watchedFolders) {
-        newFiles += recursiveEnumerate(folder);
+    newFiles += recursiveEnumerate(changedFolder);
+
+    foreach (const QString &file, m_recursiveEnumerateFiles) {
+        if (!file.startsWith(changedFolder))
+            newFiles.insert(file);
     }
 
     QSet<QString> addedFiles = newFiles;
diff --git a/src/plugins/qt4projectmanager/qt4nodes.h b/src/plugins/qt4projectmanager/qt4nodes.h
index f9bdfd29c50c33633ca86646a3a8fd9a34d029d5..d2725dec535b126687a813f9f276593f37a705ea 100644
--- a/src/plugins/qt4projectmanager/qt4nodes.h
+++ b/src/plugins/qt4projectmanager/qt4nodes.h
@@ -155,7 +155,7 @@ public:
     bool renameFile(const FileType fileType,
                     const QString &filePath, const QString &newFilePath);
 
-    void folderChanged(const QString &folder);
+    void folderChanged(const QString &changedFolder);
 
     bool deploysFolder(const QString &folder) const;
 
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index 7758d40080c790068e71121bbcd57ca624babdb0..aa5f93474ac1e9a6b3a947f31f538b6e62a7915e 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -1258,7 +1258,6 @@ void CentralizedFolderWatcher::folderChanged(const QString &folder)
     if (!folder.endsWith('/'))
         folderWithSlash.append('/');
 
-
     // If a subdirectory was added, watch it too
     QSet<QString> tmp = recursiveDirs(folderWithSlash);
     if (!tmp.isEmpty()) {