diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp
index 2a94ae06721c566f7124436a9a6ca8eac6851adb..b2ddb0728e6dd604cfe31c643a5ca1dbc703fead 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp
@@ -94,6 +94,7 @@ void MaemoRunConfiguration::init()
         setDisplayName(tr("MaemoRunConfiguration"));
     }
 
+    updateDeviceConfigurations();
     connect(&MaemoDeviceConfigurations::instance(), SIGNAL(updated()), this,
         SLOT(updateDeviceConfigurations()));
 
@@ -516,8 +517,15 @@ void MaemoRunConfiguration::qemuProcessFinished()
 void MaemoRunConfiguration::updateDeviceConfigurations()
 {
     qDebug("%s: Current devid = %llu", Q_FUNC_INFO, m_devConfig.internalId);
-    m_devConfig =
-        MaemoDeviceConfigurations::instance().find(m_devConfig.internalId);
+    const MaemoDeviceConfigurations &configManager
+        = MaemoDeviceConfigurations::instance();
+    if (!m_devConfig.isValid()) {
+        const QList<MaemoDeviceConfig> &configList = configManager.devConfigs();
+        if (!configList.isEmpty())
+            m_devConfig = configList.first();
+    } else {
+        m_devConfig = configManager.find(m_devConfig.internalId);
+    }
     qDebug("%s: new devid = %llu", Q_FUNC_INFO, m_devConfig.internalId);
     emit deviceConfigurationsUpdated();
 }