diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp
index 99283fee0bde1d075da31fe1a12af7a8535888c9..bd89e399afe53952a6a930e2d5d82e5093f49670 100644
--- a/src/plugins/qt4projectmanager/qt4nodes.cpp
+++ b/src/plugins/qt4projectmanager/qt4nodes.cpp
@@ -631,6 +631,12 @@ void Qt4PriFileNode::changeFiles(const FileType fileType,
     if (filePaths.isEmpty())
         return;
 
+    *notChanged = filePaths;
+
+    // Check for modified editors
+    if (!saveModifiedEditors(m_projectFilePath))
+        return;
+
     ProFileReader *reader = m_project->createProFileReader(m_qt4ProFileNode);
     if (!reader->readProFile(m_qt4ProFileNode->path())) {
         m_project->proFileParseError(tr("Error while parsing file %1. Giving up.").arg(m_projectFilePath));
@@ -643,14 +649,6 @@ void Qt4PriFileNode::changeFiles(const FileType fileType,
         m_project->proFileParseError(tr("Error while changing pro file %1.").arg(m_projectFilePath));
     }
 
-    *notChanged = filePaths;
-
-    // Check for modified editors
-    if (!saveModifiedEditors(m_projectFilePath)) {
-        m_project->destroyProFileReader(reader);
-        return;
-    }
-
     const QStringList vars = varNames(fileType);
     QDir priFileDir = QDir(m_projectDir);