diff --git a/src/availableaccountmodel.cpp b/src/availableaccountmodel.cpp
index 41caf1d2d7c8b4c28c8754e14e558820ea7078e4..c8d43749eb2c956051299c1aeab634d8bfc5bfa9 100644
--- a/src/availableaccountmodel.cpp
+++ b/src/availableaccountmodel.cpp
@@ -132,7 +132,8 @@ bool AvailableAccountModel::validAccountForScheme(Account* account, URI::SchemeT
 Account* AvailableAccountModel::currentDefaultAccount(URI::SchemeType schemeType)
 {
     // Always try to respect user choice
-    auto userChosenAccount = AccountModel::instance().userChosenAccount();
+    const auto idx = AvailableAccountModel::instance().selectionModel()->currentIndex();
+    auto userChosenAccount = idx.data(static_cast<int>(Account::Role::Object)).value<Account*>();
     if (userChosenAccount && validAccountForScheme(userChosenAccount, schemeType)) {
         return userChosenAccount;
     }