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());