diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.cpp
index acbb5be2da177a2db692a2143af64a04a7202790..80ee2c66f8fcd75f6e9979046a5fc4fea5706672 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.cpp
@@ -432,6 +432,27 @@ void MaemoDeviceConfigurations::setPortsSpec(int i, const QString &portsSpec)
     m_devConfigs.at(i)->m_portsSpec = portsSpec;
 }
 
+void MaemoDeviceConfigurations::setDefaultDevice(int idx)
+{
+    Q_ASSERT(idx >= 0 && idx < rowCount());
+    if (m_devConfigs.at(idx)->m_isDefault)
+        return;
+    QModelIndex oldDefaultIndex;
+    for(int i = 0; i < m_devConfigs.count(); ++i) {
+        const MaemoDeviceConfig::Ptr &oldDefaultDev = m_devConfigs.at(i);
+        if (oldDefaultDev->m_isDefault) {
+            oldDefaultDev->m_isDefault = false;
+            oldDefaultIndex = index(i, 0);
+            break;
+        }
+    }
+    Q_ASSERT(oldDefaultIndex.isValid());
+    emit dataChanged(oldDefaultIndex, oldDefaultIndex);
+    m_devConfigs.at(idx)->m_isDefault = true;
+    const QModelIndex newDefaultIndex = index(idx, 0);
+    emit dataChanged(newDefaultIndex, newDefaultIndex);
+}
+
 MaemoDeviceConfigurations::MaemoDeviceConfigurations(QObject *parent)
     : QAbstractListModel(parent)
 {
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.h b/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.h
index 7f889a27cdbce0f9c21686992848a4611ed132e2..c221267a9494726c543540555d30a7f6cdd7777b 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.h
@@ -104,6 +104,7 @@ public:
     QString name() const { return m_name; }
     DeviceType type() const { return m_type; }
     QString portsSpec() const { return m_portsSpec; }
+    bool isDefault() const { return m_isDefault; }
     Id internalId() const { return m_internalId; }
     static QString portsRegExpr();
 
@@ -164,6 +165,7 @@ public:
     void setDeviceType(int i, const MaemoDeviceConfig::DeviceType type);
     void setSshParameters(int i, const Core::SshConnectionParameters &params);
     void setPortsSpec(int i, const QString &portsSpec);
+    void setDefaultDevice(int index);
 
     virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
     virtual QVariant data(const QModelIndex &index,
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurationssettingswidget.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurationssettingswidget.cpp
index 33a4e60d80ff1bddff6d8db614b49c0258fcb181..3f5e4c0ee53f522740c4364c2113b82fa1f2e9a8 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurationssettingswidget.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurationssettingswidget.cpp
@@ -164,6 +164,8 @@ void MaemoDeviceConfigurationsSettingsWidget::initGui()
     connect(m_ui->configurationComboBox, SIGNAL(currentIndexChanged(int)),
         SLOT(currentConfigChanged(int)));
     currentConfigChanged(currentIndex());
+    connect(m_ui->defaultDeviceButton, SIGNAL(clicked()),
+        SLOT(setDefaultDevice()));
 }
 
 void MaemoDeviceConfigurationsSettingsWidget::addConfig()
@@ -194,6 +196,7 @@ void MaemoDeviceConfigurationsSettingsWidget::deleteConfig()
 void MaemoDeviceConfigurationsSettingsWidget::displayCurrent()
 {
     const MaemoDeviceConfig::ConstPtr &current = currentConfig();
+    m_ui->defaultDeviceButton->setEnabled(!current->isDefault());
     const SshConnectionParameters &sshParams = current->sshParameters();
     if (current->type() == MaemoDeviceConfig::Physical)
         m_ui->deviceButton->setChecked(true);
@@ -356,6 +359,12 @@ void MaemoDeviceConfigurationsSettingsWidget::setDefaultKeyFilePath()
     m_devConfigs->setDefaultSshKeyFilePath(m_ui->keyFileLineEdit->path());
 }
 
+void MaemoDeviceConfigurationsSettingsWidget::setDefaultDevice()
+{
+    m_devConfigs->setDefaultDevice(currentIndex());
+    m_ui->defaultDeviceButton->setEnabled(false);
+}
+
 void MaemoDeviceConfigurationsSettingsWidget::setPrivateKey(const QString &path)
 {
     m_ui->keyFileLineEdit->setPath(path);
@@ -456,6 +465,7 @@ void MaemoDeviceConfigurationsSettingsWidget::currentConfigChanged(int index)
         m_ui->remoteProcessesButton->setEnabled(false);
         clearDetails();
         m_ui->detailsWidget->setEnabled(false);
+        m_ui->defaultDeviceButton->setEnabled(false);
     } else {
         m_ui->removeConfigButton->setEnabled(true);
         m_ui->testConfigButton->setEnabled(true);
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurationssettingswidget.h b/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurationssettingswidget.h
index a97bdab4ec86b6e565d427e1203355ad857ece06..e073c3df72018cfed0dbce2d67f3749cd2a09a6b 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurationssettingswidget.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurationssettingswidget.h
@@ -85,6 +85,7 @@ private slots:
     void handleFreePortsChanged();
     void showRemoteProcesses();
     void setDefaultKeyFilePath();
+    void setDefaultDevice();
 
     // For configuration testing.
     void testConfig();
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurationssettingswidget.ui b/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurationssettingswidget.ui
index 7a302805116e03fe6ce501adb3e7c480d461c30a..a86d0af11d867e80dceb925706a94687c6a96e2f 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurationssettingswidget.ui
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurationssettingswidget.ui
@@ -422,6 +422,16 @@
        </property>
       </widget>
      </item>
+     <item>
+      <widget class="QPushButton" name="defaultDeviceButton">
+       <property name="enabled">
+        <bool>false</bool>
+       </property>
+       <property name="text">
+        <string>Set As Default</string>
+       </property>
+      </widget>
+     </item>
      <item>
       <spacer name="verticalSpacer">
        <property name="orientation">