diff --git a/src/GUI/MPServersModel.cpp b/src/GUI/MPServersModel.cpp
index 0d28d6b6f..f342b7346 100644
--- a/src/GUI/MPServersModel.cpp
+++ b/src/GUI/MPServersModel.cpp
@@ -141,6 +141,8 @@ void MPServersModel::restoreMPServerSelection()
 
             if (it != m_servers.end()) {
                 emit restoreIndex(std::distance(m_servers.begin(), it));
+            } else {
+                emit restoreDefault();
             }
         }
 
diff --git a/src/GUI/MPServersModel.h b/src/GUI/MPServersModel.h
index 496e7a08d..916043c09 100644
--- a/src/GUI/MPServersModel.h
+++ b/src/GUI/MPServersModel.h
@@ -33,7 +33,7 @@ public:
     Q_INVOKABLE int portForIndex(int index) const;
 signals:
     void restoreIndex(int index);
-
+    void restoreDefault();
 private:
 
     SGSharedPtr<RemoteXMLRequest> m_mpServerRequest;
diff --git a/src/GUI/MPSettings.qml b/src/GUI/MPSettings.qml
index 808afefe9..7c3c98a47 100644
--- a/src/GUI/MPSettings.qml
+++ b/src/GUI/MPSettings.qml
@@ -48,6 +48,11 @@ Section {
         onRestoreIndex: {
             mpServer.selectedIndex = index
         }
+
+        onRestoreDefault: {
+            console.info("Selecting default MP server");
+            mpServer.selectedIndex = 0;
+        }
     }
 
     LineEdit {
@@ -74,7 +79,12 @@ Section {
                 _config.setProperty("/sim/multiplay/txport", port);
             } else {
                 var sel = mpServer.selectedIndex
-                _config.setProperty("/sim/multiplay/txhost", _mpServers.serverForIndex(sel));
+                var host = _mpServers.serverForIndex(sel);
+                if (host == "") {
+                    console.warn("No host name for selected MP server " + sel)
+                }
+
+                _config.setProperty("/sim/multiplay/txhost", host);
                 var port = _mpServers.portForIndex(sel);
                 if (port == 0) {
                     port = defaultMPPort;