diff --git a/src/accountmodel.cpp b/src/accountmodel.cpp
index 0191c3a6dfbad82e95210badde9b621cb330abbc..eb98ab41cc45462d7742783a10cae9c1a627a8c0 100644
--- a/src/accountmodel.cpp
+++ b/src/accountmodel.cpp
@@ -457,6 +457,14 @@ void AccountModel::updateAccounts()
    qDebug() << "Updating all accounts";
    ConfigurationManagerInterface& configurationManager = ConfigurationManager::instance();
    QStringList accountIds = configurationManager.getAccountList();
+
+   // Detect removed accounts
+   foreach(Account* account, d_ptr->m_lAccounts) {
+       if (accountIds.indexOf(account->id()) == -1) {
+           remove(account);
+       }
+   }
+
    //m_lAccounts.clear();
    for (int i = 0; i < accountIds.size(); ++i) {
       Account* acc = getById(accountIds[i].toLatin1());