diff --git a/src/plugins/coreplugin/editormanager/openeditorsmodel.cpp b/src/plugins/coreplugin/editormanager/openeditorsmodel.cpp
index 27bff24e6ef83338b6b61a5a23095a1f2040b11d..b7b4250ba8531fafbdd74e1c720141884bfe79cb 100644
--- a/src/plugins/coreplugin/editormanager/openeditorsmodel.cpp
+++ b/src/plugins/coreplugin/editormanager/openeditorsmodel.cpp
@@ -310,8 +310,14 @@ QVariant OpenEditorsModel::data(const QModelIndex &index, int role) const
                 ? e.displayName() + QLatin1Char('*')
                 : e.displayName();
     case Qt::DecorationRole:
-        return (e.editor && e.editor->file()->isReadOnly())
-                ? d->m_lockedIcon : QIcon();
+    {
+        bool readOnly = false;
+        if (e.editor)
+            readOnly = e.editor->file()->isReadOnly();
+        else
+            readOnly = !QFileInfo(e.m_fileName).isWritable();
+        return readOnly ? d->m_lockedIcon : QIcon();
+    }
     case Qt::ToolTipRole:
         return e.fileName().isEmpty()
                 ? e.displayName()