diff --git a/callwidget.cpp b/callwidget.cpp
index 4667a205ccaf3b5d35fa16e0561105709740f685..1c4d25e55f3d9289e85bbfef10b4301f4a4f828d 100644
--- a/callwidget.cpp
+++ b/callwidget.cpp
@@ -798,7 +798,7 @@ CallWidget::setSelectedAccount(const std::string& accountId)
     // First, we get back to the welcome view (except if in call)
     if (ui->stackedWidget->currentWidget() != ui->videoPage &&
         ui->stackedWidget->currentWidget() != ui->welcomePage) {
-        Utils::setStackWidget(ui->stackedWidget, ui->welcomePage);
+        backToWelcomePage();
     }
 
     // We setup the ringIdLabel and the QRCode
@@ -1176,6 +1176,10 @@ CallWidget::selectConversation( const lrc::api::conversation::Info& item,
 void
 CallWidget::deselectConversation()
 {
+    if (LRCInstance::getSelectedConvUid().empty()) {
+        return;
+    }
+
     auto currentConversationModel = LRCInstance::getCurrentConversationModel();
 
     if (currentConversationModel == nullptr) {
@@ -1183,7 +1187,7 @@ CallWidget::deselectConversation()
     }
 
     currentConversationModel->selectConversation("");
-    LRCInstance::setSelectedConvId("");
+    LRCInstance::setSelectedConvId();
 
     ui->smartList->selectionModel()->clear();
     disconnect(imConnection_);
diff --git a/lrcinstance.h b/lrcinstance.h
index a66f715fb398bbcd970bc59278ec1f8e89cbc428..9b3b8ac6f383a0c6476700652d115bc199db5f22 100644
--- a/lrcinstance.h
+++ b/lrcinstance.h
@@ -121,7 +121,7 @@ public:
         return instance().selectedAccountId_;
     };
 
-    static void setSelectedAccountId(const std::string& accountId) {
+    static void setSelectedAccountId(const std::string& accountId = {}) {
         instance().selectedAccountId_ = accountId;
         QSettings settings("jami.net", "Jami");
         settings.setValue(SettingsKey::selectedAccount, QString::fromStdString(accountId));
@@ -131,7 +131,7 @@ public:
         return instance().selectedConvUid_;
     };
 
-    static void setSelectedConvId(const std::string& convUid) {
+    static void setSelectedConvId(const std::string& convUid = {}) {
         instance().selectedConvUid_ = convUid;
     };
 
diff --git a/settingswidget.cpp b/settingswidget.cpp
index 68caee5a1d1472590cd6531cb212412b43aee395..f961688ed16b1bebbab89284518f23cbe0a7e82b 100644
--- a/settingswidget.cpp
+++ b/settingswidget.cpp
@@ -492,13 +492,13 @@ void SettingsWidget::delAccountSlot()
     auto ret = delDialog.exec();
 
     if (ret == QDialog::Accepted) {
-        LRCInstance::setSelectedAccountId("");
+        LRCInstance::setSelectedAccountId();
 
         if (!LRCInstance::accountModel().getAccountList().size()) {
             emit NavigationRequested(ScreenEnum::WizardScreen);
 
         } else {
-            LRCInstance::setSelectedConvId("");
+            LRCInstance::setSelectedConvId();
             emit NavigationRequested(ScreenEnum::CallScreen);
         }
     }