diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemosettingswidget.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemosettingswidget.cpp
index 602cbe2c47f675dd2ff382465b80bd8238ef059d..011e9644e9e31fc29e8f2dc66cc324dac2fd1a21 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemosettingswidget.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemosettingswidget.cpp
@@ -98,13 +98,16 @@ MaemoSettingsWidget::MaemoSettingsWidget(QWidget *parent)
       m_ui(new Ui_MaemoSettingsWidget),
       m_devConfs(MaemoDeviceConfigurations::instance().devConfigs()),
       m_nameValidator(new NameValidator(m_devConfs)),
-      m_keyDeployer(0)
+      m_keyDeployer(0),
+      m_saveSettingsRequested(false)
 {
     initGui();
 }
 
 MaemoSettingsWidget::~MaemoSettingsWidget()
 {
+    if (m_saveSettingsRequested)
+        MaemoDeviceConfigurations::instance().setDevConfigs(m_devConfs);
 }
 
 QString MaemoSettingsWidget::searchKeywords() const
@@ -225,7 +228,8 @@ void MaemoSettingsWidget::fillInValues()
 
 void MaemoSettingsWidget::saveSettings()
 {
-    MaemoDeviceConfigurations::instance().setDevConfigs(m_devConfs);
+    // We must defer this step because of a stupid bug on MacOS. See QTCREATORBUG-1675.
+    m_saveSettingsRequested = true;
 }
 
 MaemoDeviceConfig &MaemoSettingsWidget::currentConfig()
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemosettingswidget.h b/src/plugins/qt4projectmanager/qt-maemo/maemosettingswidget.h
index e8c676696a03f816ad22dced1f6d5fb9e205b980..d7a195f392824520e0e342f0431dbbe5ab524e0a 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemosettingswidget.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemosettingswidget.h
@@ -103,6 +103,7 @@ private:
     MaemoDeviceConfig m_lastConfigSim;
     NameValidator * const m_nameValidator;
     MaemoSshRunner *m_keyDeployer;
+    bool m_saveSettingsRequested;
 };
 
 } // namespace Internal