diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index 392a75b43beff09f5108012ba24239579619b07e..bfea5520a883b53dcddb9835e90fcedd75e2e378 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -2569,7 +2569,7 @@ void ProjectExplorerPlugin::renameFile()
         ProjectTreeWidget *treeWidget = qobject_cast<ProjectTreeWidget*>(focusWidget);
         if (treeWidget) {
             treeWidget->editCurrentItem();
-            break;
+            return;
         }
         focusWidget = focusWidget->parentWidget();
     }
diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp
index 37c0e1446e7c1a816c4dc9a80cc431a69fbcfd2f..2e326022cc6ca7e47d16b0418aab7e6c2d769b56 100644
--- a/src/plugins/projectexplorer/projecttreewidget.cpp
+++ b/src/plugins/projectexplorer/projecttreewidget.cpp
@@ -273,8 +273,8 @@ void ProjectTreeWidget::setAutoSynchronization(bool sync, bool syncNow)
 
 void ProjectTreeWidget::editCurrentItem()
 {
-    if (!m_view->selectionModel()->selectedIndexes().isEmpty())
-        m_view->edit(m_view->selectionModel()->selectedIndexes().first());
+    if (m_view->selectionModel()->currentIndex().isValid())
+        m_view->edit(m_view->selectionModel()->currentIndex());
 }
 
 void ProjectTreeWidget::setCurrentItem(Node *node, Project *project)