diff --git a/src/plugins/qmljseditor/qmljseditor.cpp b/src/plugins/qmljseditor/qmljseditor.cpp
index 9ef22349f1460c5f4f2e73bd95edb7228fea81c6..53b8d047b05cd3cb31b8e1efb953a4eb4c368233 100644
--- a/src/plugins/qmljseditor/qmljseditor.cpp
+++ b/src/plugins/qmljseditor/qmljseditor.cpp
@@ -714,7 +714,7 @@ void QmlJSTextEditor::updateDocumentNow()
 
     const QString fileName = file()->fileName();
 
-    m_modelManager->updateSourceFiles(QStringList() << fileName);
+    m_modelManager->updateSourceFiles(QStringList() << fileName, false);
 }
 
 static void appendExtraSelectionsForMessages(
diff --git a/src/plugins/qmljseditor/qmljsmodelmanager.cpp b/src/plugins/qmljseditor/qmljsmodelmanager.cpp
index 8c60de1a38b2415e2f2f4ffd782fda15341c2149..d949424c5c9bc0a515f17caf4ad641ee67864c7d 100644
--- a/src/plugins/qmljseditor/qmljsmodelmanager.cpp
+++ b/src/plugins/qmljseditor/qmljsmodelmanager.cpp
@@ -97,12 +97,14 @@ Snapshot ModelManager::snapshot() const
     return _snapshot;
 }
 
-void ModelManager::updateSourceFiles(const QStringList &files)
+void ModelManager::updateSourceFiles(const QStringList &files,
+                                     bool emitDocumentOnDiskChanged)
 {
-    refreshSourceFiles(files);
+    refreshSourceFiles(files, emitDocumentOnDiskChanged);
 }
 
-QFuture<void> ModelManager::refreshSourceFiles(const QStringList &sourceFiles)
+QFuture<void> ModelManager::refreshSourceFiles(const QStringList &sourceFiles,
+                                               bool emitDocumentOnDiskChanged)
 {
     if (sourceFiles.isEmpty()) {
         return QFuture<void>();
@@ -112,7 +114,8 @@ QFuture<void> ModelManager::refreshSourceFiles(const QStringList &sourceFiles)
 
     QFuture<void> result = QtConcurrent::run(&ModelManager::parse,
                                               workingCopy, sourceFiles,
-                                              this, false);
+                                              this,
+                                              emitDocumentOnDiskChanged);
 
     if (m_synchronizer.futures().size() > 10) {
         QList<QFuture<void> > futures = m_synchronizer.futures();
@@ -393,7 +396,7 @@ void ModelManager::setProjectImportPaths(const QStringList &importPaths)
     foreach (const Document::Ptr &doc, snapshot)
         findNewLibraryImports(doc, snapshot, this, &importedFiles, &scannedPaths);
 
-    updateSourceFiles(importedFiles);
+    updateSourceFiles(importedFiles, true);
 }
 
 QStringList ModelManager::importPaths() const
diff --git a/src/plugins/qmljseditor/qmljsmodelmanager.h b/src/plugins/qmljseditor/qmljsmodelmanager.h
index f43f7c6129157db22a4b95a83c3a99f22ad4f797..4377731d4eb94e9062157471d48f06363ded2994 100644
--- a/src/plugins/qmljseditor/qmljsmodelmanager.h
+++ b/src/plugins/qmljseditor/qmljsmodelmanager.h
@@ -54,7 +54,8 @@ public:
     ModelManager(QObject *parent = 0);
 
     virtual QmlJS::Snapshot snapshot() const;
-    virtual void updateSourceFiles(const QStringList &files);
+    virtual void updateSourceFiles(const QStringList &files,
+                                   bool emitDocumentOnDiskChanged);
     virtual void fileChangedOnDisk(const QString &path);
 
     void emitDocumentUpdated(QmlJS::Document::Ptr doc);
@@ -82,7 +83,8 @@ protected:
         QString contents;
     };
 
-    QFuture<void> refreshSourceFiles(const QStringList &sourceFiles);
+    QFuture<void> refreshSourceFiles(const QStringList &sourceFiles,
+                                     bool emitDocumentOnDiskChanged);
     QMap<QString, WorkingCopy> buildWorkingCopyList();
 
     static void parse(QFutureInterface<void> &future,
diff --git a/src/plugins/qmljseditor/qmljsmodelmanagerinterface.h b/src/plugins/qmljseditor/qmljsmodelmanagerinterface.h
index 706e574f87470cda426e60c8a0e1de449816d40c..0f502227dc973a3c657d60df89c5710e211e9e2e 100644
--- a/src/plugins/qmljseditor/qmljsmodelmanagerinterface.h
+++ b/src/plugins/qmljseditor/qmljsmodelmanagerinterface.h
@@ -53,7 +53,8 @@ public:
     virtual ~ModelManagerInterface();
 
     virtual QmlJS::Snapshot snapshot() const = 0;
-    virtual void updateSourceFiles(const QStringList &files) = 0;
+    virtual void updateSourceFiles(const QStringList &files,
+                                   bool emitDocumentOnDiskChanged) = 0;
     virtual void fileChangedOnDisk(const QString &path) = 0;
 
     virtual void setProjectImportPaths(const QStringList &importPaths) = 0;
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp
index 548c4026886ff6d14092c6b678a15dbd1f755e4b..0b2afe68ac096c57ae8f2fb69fdb748a197abee2 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.cpp
+++ b/src/plugins/qmlprojectmanager/qmlproject.cpp
@@ -106,7 +106,7 @@ void QmlProject::parseProject(RefreshOptions options)
         }
         if (m_projectItem) {
             m_projectItem.data()->setSourceDirectory(projectDir().path());
-            m_modelManager->updateSourceFiles(m_projectItem.data()->files());
+            m_modelManager->updateSourceFiles(m_projectItem.data()->files(), true);
         }
         m_rootNode->refresh();
     }