diff --git a/src/availableaccountmodel.cpp b/src/availableaccountmodel.cpp
index e45b9bd21e0b65d21569c3b8c36de9aee3a52a43..576756d260625fd9fa82585efd25e431155164be 100644
--- a/src/availableaccountmodel.cpp
+++ b/src/availableaccountmodel.cpp
@@ -159,7 +159,8 @@ void AvailableAccountModelPrivate::setPriorAccount(const Account* account)
    m_spPriorAccount = const_cast<Account*>(account);
    if (changed) {
       auto& self = AvailableAccountModel::instance();
-      Account* a = self.currentDefaultAccount();
+
+      Account* a = account ? const_cast<Account*>(account) : self.currentDefaultAccount();
 
       emit self.currentDefaultAccountChanged(a);