diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index f02779acd70a3da8c2b4f3376028631af4fd20f7..5eda4b77e54ff171c2f081bc3b6f916807352a1a 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -988,13 +988,16 @@ void CppModelManager::parse(QFutureInterface<void> &future,
     Core::MimeType cSourceTy = db->findByType(QLatin1String("text/x-csrc"));
     Core::MimeType cppSourceTy = db->findByType(QLatin1String("text/x-c++src"));
 
+    Core::MimeType cHeaderTy = db->findByType(QLatin1String("text/x-hdr"));
+    Core::MimeType cppHeaderTy = db->findByType(QLatin1String("text/x-c++hdr"));
+
     foreach (const QString &file, files) {
         const QFileInfo fileInfo(file);
 
         if (cSourceTy.matchesFile(fileInfo) || cppSourceTy.matchesFile(fileInfo))
             sources.append(file);
 
-        else
+        else if (cHeaderTy.matchesFile(fileInfo) || cppHeaderTy.matchesFile(fileInfo))
             headers.append(file);
     }