diff --git a/src/plugins/projectexplorer/projecttree.cpp b/src/plugins/projectexplorer/projecttree.cpp index 3e89539aac1..c87d19c5ff4 100644 --- a/src/plugins/projectexplorer/projecttree.cpp +++ b/src/plugins/projectexplorer/projecttree.cpp @@ -225,10 +225,16 @@ void ProjectTree::update(Node *node, Project *project) } } - if (!node && Core::EditorManager::currentDocument()) { - connect(Core::EditorManager::currentDocument(), &Core::IDocument::changed, - this, &ProjectTree::updateExternalFileWarning, - Qt::UniqueConnection); + if (Core::IDocument *document = Core::EditorManager::currentDocument()) { + if (node) { + disconnect(document, &Core::IDocument::changed, + this, &ProjectTree::updateExternalFileWarning); + document->infoBar()->removeInfo(EXTERNAL_FILE_WARNING); + } else { + connect(document, &Core::IDocument::changed, + this, &ProjectTree::updateExternalFileWarning, + Qt::UniqueConnection); + } } if (changedNode) {