diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp
index 6285bb81dee49a304e10cbd99f75607eeef22758..c2197a2dc7c7042ab3cc6c6a6c2dc5b235355391 100644
--- a/src/plugins/projectexplorer/projecttreewidget.cpp
+++ b/src/plugins/projectexplorer/projecttreewidget.cpp
@@ -90,6 +90,20 @@ protected:
         if (event->reason() != Qt::PopupFocusReason)
             QTreeView::focusOutEvent(event);
     }
+
+#ifdef Q_OS_MAC
+    void keyPressEvent(QKeyEvent *event)
+    {
+        if ((event->key() == Qt::Key_Return
+                || event->key() == Qt::Key_Enter)
+                && event->modifiers() == 0
+                && currentIndex().isValid()) {
+            emit activated(currentIndex());
+            return;
+        }
+        QTreeView::keyPressEvent(event);
+    }
+#endif
 };
 
 /*!