diff --git a/src/plugins/projectexplorer/projectmodels.cpp b/src/plugins/projectexplorer/projectmodels.cpp
index 1ce7ce1db6a332f77ff25ee9546fda6c2bab9e05..0cbd4e86580655ddae0a35b2c14ba729eb7226c2 100644
--- a/src/plugins/projectexplorer/projectmodels.cpp
+++ b/src/plugins/projectexplorer/projectmodels.cpp
@@ -289,7 +289,15 @@ Qt::ItemFlags FlatModel::flags(const QModelIndex &index) const
     // We claim that everything is editable
     // That's slightly wrong
     // We control the only view, and that one does the checks
-    return Qt::ItemIsSelectable|Qt::ItemIsEnabled | Qt::ItemIsEditable;
+    Qt::ItemFlags f = Qt::ItemIsSelectable|Qt::ItemIsEnabled;
+    if (Node *node = nodeForIndex(index)) {
+        if (!qobject_cast<ProjectNode *>(node)) {
+            // either folder or file node
+            if (node->projectNode()->supportedActions(node).contains(ProjectNode::Rename))
+                f = f | Qt::ItemIsEditable;
+        }
+    }
+    return f;
 }
 
 bool FlatModel::setData(const QModelIndex &index, const QVariant &value, int role)