diff --git a/src/app/mainview/components/ChatView.qml b/src/app/mainview/components/ChatView.qml
index 7c39226dcd1cd51b9b70c88f8f2b988ebfbf2cb5..1c38d67e5e95342fb8c74cdccf6670c2aa232ac4 100644
--- a/src/app/mainview/components/ChatView.qml
+++ b/src/app/mainview/components/ChatView.qml
@@ -326,9 +326,9 @@ Rectangle {
                             return false;
                         else if (CurrentConversation.needsSyncing)
                             return false;
-                        else if (CurrentConversation.isSwarm && CurrentConversation.isRequest)
+                        else if (CurrentConversation.isRequest)
                             return false;
-                        return CurrentConversation.isSwarm || CurrentConversation.isTemporary;
+                        return CurrentConversation.isSwarm;
                     }
 
                     onHeightChanged: {
diff --git a/src/libclient/contactmodel.cpp b/src/libclient/contactmodel.cpp
index 9771b2dd02dc395017127901e2768c2d74b00074..914a72b355f978ee18607765f709315ce18d2c4a 100644
--- a/src/libclient/contactmodel.cpp
+++ b/src/libclient/contactmodel.cpp
@@ -246,32 +246,39 @@ ContactModel::getAddedTs(const QString& contactUri) const
 void
 ContactModel::addContact(contact::Info contactInfo)
 {
+    qWarning() << "@@@@@XXX?";
     auto& profile = contactInfo.profileInfo;
     // If passed contact is a banned contact, call the daemon to unban it
     auto it = std::find(pimpl_->bannedContacts.begin(), pimpl_->bannedContacts.end(), profile.uri);
     if (it != pimpl_->bannedContacts.end()) {
+        qWarning() << "@@@@@XXX";
         LC_DBG << QString("Unban-ing contact %1").arg(profile.uri);
         ConfigurationManager::instance().addContact(owner.id, profile.uri);
         // bannedContacts will be updated in slotContactAdded
         return;
     }
+        qWarning() << "@@@@@XXX";
 
     if ((owner.profileInfo.type != profile.type)
         and (profile.type == profile::Type::JAMI or profile.type == profile::Type::SIP)) {
+        qWarning() << "@@@@@XXX";
         LC_DBG << "ContactModel::addContact, types invalid.";
         return;
     }
 
+        qWarning() << "@@@@@XXX";
     MapStringString details = ConfigurationManager::instance()
                                   .getContactDetails(owner.id, contactInfo.profileInfo.uri);
 
     // if contactInfo is already a contact for the daemon, type should be equals to RING
     // if the user add a temporary item for a SIP account, should be directly transformed
+        qWarning() << "@@@@@XXX";
     if ((!details.empty() && details.value("removed") == "0")
         || (profile.type == profile::Type::TEMPORARY
             && owner.profileInfo.type == profile::Type::SIP))
         profile.type = owner.profileInfo.type;
 
+        qWarning() << "@@@@@XXX";
     switch (profile.type) {
     case profile::Type::TEMPORARY: {
         // make a temporary contact available for UI elements, it will be upgraded to
@@ -279,6 +286,7 @@ ContactModel::addContact(contact::Info contactInfo)
         std::lock_guard<std::mutex> lk(pimpl_->contactsMtx_);
         contactInfo.profileInfo.type = profile::Type::PENDING;
         pimpl_->contacts.insert(contactInfo.profileInfo.uri, contactInfo);
+        qWarning() << "@@@@@XXX";
         ConfigurationManager::instance().addContact(owner.id, profile.uri);
         ConfigurationManager::instance()
             .sendTrustRequest(owner.id,
@@ -287,17 +295,21 @@ ContactModel::addContact(contact::Info contactInfo)
         return;
     }
     case profile::Type::PENDING:
+        qWarning() << "@@@@@XXX";
         return;
     case profile::Type::JAMI:
     case profile::Type::SIP:
+        qWarning() << "@@@@@XXX";
         break;
     case profile::Type::INVALID:
     case profile::Type::COUNT__:
     default:
+    qWarning() << "@@@@@XXX?";
         LC_DBG << "ContactModel::addContact, cannot add contact with invalid type.";
         return;
     }
 
+        qWarning() << "@@@@@XXX";
     storage::createOrUpdateProfile(owner.id, profile, true);
 
     {
diff --git a/src/libclient/conversationmodel.cpp b/src/libclient/conversationmodel.cpp
index 47aae56f477df25b4daf13ce45c09e4909dce936..a8f6b19c2b5b22c4953f37c45332723daad5261a 100644
--- a/src/libclient/conversationmodel.cpp
+++ b/src/libclient/conversationmodel.cpp
@@ -1618,6 +1618,7 @@ ConversationModel::acceptConversationRequest(const QString& conversationId)
             auto notAdded = contact.profileInfo.type == profile::Type::TEMPORARY
                             || contact.profileInfo.type == profile::Type::PENDING;
             if (notAdded) {
+                contact.profileInfo.type = profile::Type::TEMPORARY;
                 owner.contactModel->addContact(contact);
                 return;
             }