diff --git a/src/plugins/qbsprojectmanager/qbsnodes.cpp b/src/plugins/qbsprojectmanager/qbsnodes.cpp
index 62facdf2178e36754e9fc6f47a55e866d9fb81b0..cc46f98ad1444aff22d5385e6b250e1b389c97c6 100644
--- a/src/plugins/qbsprojectmanager/qbsnodes.cpp
+++ b/src/plugins/qbsprojectmanager/qbsnodes.cpp
@@ -30,9 +30,11 @@
 #include "qbsnodes.h"
 
 #include "qbsproject.h"
+#include "qbsrunconfiguration.h"
 
 #include <coreplugin/fileiconprovider.h>
 #include <coreplugin/idocument.h>
+#include <projectexplorer/target.h>
 #include <qtsupport/qtsupportconstants.h>
 #include <utils/hostosinfo.h>
 #include <utils/qtcassert.h>
@@ -460,6 +462,25 @@ void QbsProductNode::setQbsProductData(const qbs::ProductData *prd)
     emitNodeUpdated();
 }
 
+QList<ProjectExplorer::RunConfiguration *> QbsProductNode::runConfigurationsFor(ProjectExplorer::Node *node)
+{
+    Q_UNUSED(node);
+    QList<ProjectExplorer::RunConfiguration *> result;
+    QbsProjectNode *pn = qobject_cast<QbsProjectNode *>(projectNode());
+    if (!isEnabled() || !pn || pn->qbsProject()->targetExecutable(*m_qbsProductData).isEmpty())
+        return result;
+
+    foreach (ProjectExplorer::RunConfiguration *rc, pn->project()->activeTarget()->runConfigurations()) {
+        QbsRunConfiguration *qbsRc = qobject_cast<QbsRunConfiguration *>(rc);
+        if (!qbsRc)
+            continue;
+        if (qbsRc->qbsProduct() == qbsProductData()->name())
+            result << qbsRc;
+    }
+
+    return result;
+}
+
 QbsGroupNode *QbsProductNode::findGroupNode(const QString &name)
 {
     foreach (ProjectExplorer::ProjectNode *n, subProjectNodes()) {
diff --git a/src/plugins/qbsprojectmanager/qbsnodes.h b/src/plugins/qbsprojectmanager/qbsnodes.h
index f44d33dd39a1535e5cb58f7fe156bec53845e7fd..6e89b373fb1b496140461977678d9d1e7943bdce 100644
--- a/src/plugins/qbsprojectmanager/qbsnodes.h
+++ b/src/plugins/qbsprojectmanager/qbsnodes.h
@@ -151,6 +151,8 @@ public:
     void setQbsProductData(const qbs::ProductData *prd);
     const qbs::ProductData *qbsProductData() const { return m_qbsProductData; }
 
+    QList<ProjectExplorer::RunConfiguration *> runConfigurationsFor(Node *node);
+
 private:
     QbsGroupNode *findGroupNode(const QString &name);