diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index 5d193738be55fe864c051571242d523e820f2894..bb434fd6d036d5c623ad29ae1f4017321d101e5f 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -1269,6 +1269,9 @@ void CppModelManager::parse(QFutureInterface<void> &future,
     if (files.isEmpty())
         return;
 
+    foreach (const QString &file, files)
+        preproc->snapshot.remove(file);
+
     QStringList sources;
     QStringList headers;
     const Core::MimeDatabase *mimeDb = Core::ICore::instance()->mimeDatabase();
@@ -1278,8 +1281,6 @@ void CppModelManager::parse(QFutureInterface<void> &future,
     const int sourceCount = sources.size();
     files = sources;
     files += headers;
-    foreach (const QString &file, files)
-        preproc->snapshot.remove(file);
 
     preproc->setTodo(files);