diff --git a/src/app/contactadapter.cpp b/src/app/contactadapter.cpp
index 7585f346616e4cea0c3c579684575c798894dcb7..dd39ab6fd2b544e7db52329c2588e4ed4022c6fa 100644
--- a/src/app/contactadapter.cpp
+++ b/src/app/contactadapter.cpp
@@ -33,11 +33,11 @@ ContactAdapter::ContactAdapter(LRCInstance* instance, QObject* parent)
 
     selectableProxyModel_.reset(new SelectableProxyModel(this));
     if (lrcInstance_) {
-        connectSignals();
         connect(lrcInstance_,
                 &LRCInstance::currentAccountIdChanged,
                 this,
                 &ContactAdapter::connectSignals);
+        connectSignals();
     }
 }
 
@@ -261,8 +261,7 @@ ContactAdapter::updateConnectionInfo()
 void
 ContactAdapter::connectSignals()
 {
-    if (!lrcInstance_->getCurrentContactModel()) {
-        qWarning() << Q_FUNC_INFO << "No contact model";
+    if (lrcInstance_->get_currentAccountId().isEmpty()) {
         return;
     }
 
diff --git a/src/app/currentaccount.cpp b/src/app/currentaccount.cpp
index 0867aa6e23a7d548f1a67d4404dd4897c349377c..bf42baa81520cac924f34c5ddb062aee37af5ef0 100644
--- a/src/app/currentaccount.cpp
+++ b/src/app/currentaccount.cpp
@@ -90,6 +90,9 @@ CurrentAccount::get_isLocalModeratorsEnabled()
 void
 CurrentAccount::setupForAccount()
 {
+    if (lrcInstance_->get_currentAccountId().isEmpty())
+        return;
+
     connect(lrcInstance_->getCurrentContactModel(),
             &ContactModel::bannedStatusChanged,
             this,