diff --git a/src/app/contactadapter.cpp b/src/app/contactadapter.cpp
index 6c96c6d1cd8781b118aa0269a204f95d68c36120..fd35b1588234bd34c38d1440b20e85536e1697d1 100644
--- a/src/app/contactadapter.cpp
+++ b/src/app/contactadapter.cpp
@@ -249,10 +249,20 @@ ContactAdapter::removeContact(const QString& peerUri, bool banContact)
 void
 ContactAdapter::connectSignals()
 {
-    if (lrcInstance_->getCurrentContactModel())
+    if (lrcInstance_->getCurrentContactModel()) {
         connect(lrcInstance_->getCurrentContactModel(),
                 &ContactModel::bannedStatusChanged,
                 this,
                 &ContactAdapter::bannedStatusChanged,
                 Qt::UniqueConnection);
+        connect(
+            lrcInstance_->getCurrentContactModel(),
+            &ContactModel::modelUpdated,
+            this,
+            [&](const auto& uri) {
+                // Refresh contacts shown
+                selectableProxyModel_->invalidate();
+            },
+            Qt::UniqueConnection);
+    }
 }