diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp
index b6a5a7187e3cc3f96c0e5cdffaf4cbdc5328e7e4..13ddb6a66bfa82c1f3bf2e1f3dff161b18507750 100644
--- a/src/plugins/coreplugin/editormanager/editormanager.cpp
+++ b/src/plugins/coreplugin/editormanager/editormanager.cpp
@@ -1411,7 +1411,7 @@ EditorManager::makeFileWritable(IFile *file)
     IVersionControl *versionControl = m_d->m_core->vcsManager()->findVersionControlForDirectory(directory);
     const QString &fileName = file->fileName();
 
-    switch (FileManager::promptReadOnlyFile(fileName, versionControl, m_d->m_core->mainWindow(), true)) {
+    switch (FileManager::promptReadOnlyFile(fileName, versionControl, m_d->m_core->mainWindow(), file->isSaveAsAllowed())) {
     case FileManager::RO_OpenVCS:
         if (!versionControl->vcsOpen(fileName)) {
             QMessageBox::warning(m_d->m_core->mainWindow(), tr("Failed!"), tr("Could not open the file for editing with SCC."));
@@ -1479,6 +1479,7 @@ bool EditorManager::saveFileAs(IFile *fileParam)
     return success;
 }
 
+/* Adds the file name to the recent files if there is at least one non-temporary editor for it */
 void EditorManager::addFileToRecentFiles(IFile *file)
 {
     bool isTemporary = true;
diff --git a/src/plugins/coreplugin/filemanager.cpp b/src/plugins/coreplugin/filemanager.cpp
index d6a1b64d654d2515af45ad81cfdf46f197e56506..d9887ea5328add8da920202670dccfb782649d0a 100644
--- a/src/plugins/coreplugin/filemanager.cpp
+++ b/src/plugins/coreplugin/filemanager.cpp
@@ -840,7 +840,7 @@ FileManager::ReadOnlyAction
         return RO_OpenVCS;
     if (clickedButton == makeWritableButton)
         return RO_MakeWriteable;
-    if (clickedButton == saveAsButton)
+    if (displaySaveAsButton && clickedButton == saveAsButton)
         return RO_SaveAs;
     return  RO_Cancel;
 }