diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index 3d7011fefdba9e9e66f7cf1f4d230f4d44793bed..a0f4016d33ff557cfdbc20038361a417b7dc2b65 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -77,7 +77,6 @@
 #include <coreplugin/iversioncontrol.h>
 #include <coreplugin/vcsmanager.h>
 #include <extensionsystem/pluginmanager.h>
-#include <utils/listutils.h>
 #include <utils/qtcassert.h>
 
 #include <QtCore/QtPlugin>
@@ -1493,7 +1492,6 @@ void ProjectExplorerPlugin::updateRecentProjectMenu()
         Core::ICore::instance()->actionManager()->actionContainer(Constants::M_RECENTPROJECTS);
     QMenu *menu = aci->menu();
     menu->clear();
-    m_recentProjectsActions.clear();
 
     menu->setEnabled(!m_recentProjects.isEmpty());
 
@@ -1502,7 +1500,7 @@ void ProjectExplorerPlugin::updateRecentProjectMenu()
         if (s.endsWith(".qws"))
             continue;
         QAction *action = menu->addAction(s);
-        m_recentProjectsActions.insert(action, s);
+        action->setData(s);
         connect(action, SIGNAL(triggered()), this, SLOT(openRecentProject()));
     }
 }
@@ -1513,10 +1511,11 @@ void ProjectExplorerPlugin::openRecentProject()
         qDebug() << "ProjectExplorerPlugin::openRecentProject()";
 
     QAction *a = qobject_cast<QAction*>(sender());
-    if (m_recentProjectsActions.contains(a)) {
-        const QString fileName = m_recentProjectsActions.value(a);
+    if (!a)
+        return;
+    QString fileName = a->data().toString();
+    if (!fileName.isEmpty())
         openProject(fileName);
-    }
 }
 
 void ProjectExplorerPlugin::invalidateProject(Project *project)
diff --git a/src/plugins/projectexplorer/projectexplorer.h b/src/plugins/projectexplorer/projectexplorer.h
index b95c8b5019883182d11e631a378eaf1e3d965904..b8f55ff3e55a7bbf826d9c2c2491ea1cdd657b94 100644
--- a/src/plugins/projectexplorer/projectexplorer.h
+++ b/src/plugins/projectexplorer/projectexplorer.h
@@ -38,7 +38,6 @@
 #include <coreplugin/icorelistener.h>
 
 #include <QtCore/QObject>
-#include <QtCore/QMap>
 #include <QtCore/QSharedPointer>
 #include <QtCore/QList>
 #include <QtCore/QQueue>
@@ -248,7 +247,6 @@ private:
 
     QStringList m_recentProjects;
     static const int m_maxRecentProjects = 7;
-    QMap<QAction*, QString> m_recentProjectsActions;
 
     QString m_lastOpenDirectory;
     QSharedPointer<RunConfiguration> m_delayedRunConfiguration;