diff --git a/src/plugins/projectexplorer/projectwizardpage.cpp b/src/plugins/projectexplorer/projectwizardpage.cpp
index 965897b1e3c3677bc3454f916a281792b8fcf9c2..2f412d883352e488ea9f8f4a988b8d91936dcf98 100644
--- a/src/plugins/projectexplorer/projectwizardpage.cpp
+++ b/src/plugins/projectexplorer/projectwizardpage.cpp
@@ -128,6 +128,8 @@ QVariant AddNewTree::data(int, int role) const
         return m_displayName;
     if (role == Qt::ToolTipRole)
         return m_toolTip;
+    if (role == Qt::UserRole)
+        return QVariant::fromValue(static_cast<void*>(node()));
     return QVariant();
 }
 
@@ -403,9 +405,8 @@ void ProjectWizardPage::setBestNode(AddNewTree *tree)
 
 FolderNode *ProjectWizardPage::currentNode() const
 {
-    QModelIndex index = m_ui->projectComboBox->view()->currentIndex();
-    TreeItem *item = m_model->itemForIndex(index);
-    return item ? static_cast<AddNewTree *>(item)->node() : 0;
+    QVariant v = m_ui->projectComboBox->currentData(Qt::UserRole);
+    return v.isNull() ? 0 : static_cast<FolderNode *>(v.value<void *>());
 }
 
 void ProjectWizardPage::setAddingSubProject(bool addingSubProject)