diff --git a/src/availableaccountmodel.cpp b/src/availableaccountmodel.cpp
index 2a98ccea858a74f373e06862549c7bc2648f4497..e5747061de4b5343905ad76cd4e6b40155b24c01 100644
--- a/src/availableaccountmodel.cpp
+++ b/src/availableaccountmodel.cpp
@@ -235,13 +235,12 @@ void AvailableAccountModelPrivate::checkRemovedAccount(Account* a)
 
 void AvailableAccountModelPrivate::checkStateChanges(Account* account, const Account::RegistrationState state)
 {
-   Q_UNUSED(account)
-   Q_UNUSED(state)
-   Account* a = firstRegisteredAccount();
-   if ( m_spPriorAccount != a ) {
-      qDebug() << "The current default account changed to" << a;
-      setPriorAccount(a);
-   }
+    // change PriorAccount if current PriorAccount became unavailable
+    if(m_spPriorAccount != account || state == Account::RegistrationState::READY ||
+       state == Account::RegistrationState::TRYING)
+        return;
+    Account* a = firstRegisteredAccount();
+    setPriorAccount(a);
 }
 
 #include <availableaccountmodel.moc>