diff --git a/src/mainview/MainView.qml b/src/mainview/MainView.qml
index 960c22a6eb4c4ade6ce9956752ccfd1408393c3b..73c71374ffaf6a10cb2adbb3374623b4851bdd38 100644
--- a/src/mainview/MainView.qml
+++ b/src/mainview/MainView.qml
@@ -463,6 +463,11 @@ Rectangle {
             function onNavigateToWelcomePageRequested() {
                 backToMainView()
             }
+
+            function onInvitationAccepted() {
+                mainViewSidePanel.selectTab(SidePanelTabBar.Conversations)
+                showWelcomeView()
+            }
         }
 
         Component.onCompleted: {
diff --git a/src/messagesadapter.cpp b/src/messagesadapter.cpp
index 971bfd5f9885eeefc040f0ac5a55f88014a9ebe5..644d86dc5b026f54348a2cf4a9c2c09fa50106b4 100644
--- a/src/messagesadapter.cpp
+++ b/src/messagesadapter.cpp
@@ -664,6 +664,9 @@ MessagesAdapter::acceptInvitation(const QString& convUid)
 {
     const auto currentConvUid = convUid.isEmpty() ? lrcInstance_->getCurrentConvUid() : convUid;
     lrcInstance_->getCurrentConversationModel()->makePermanent(currentConvUid);
+    if (convUid == currentConvUid_)
+        currentConvUid_.clear();
+    emit invitationAccepted();
 }
 
 void
diff --git a/src/messagesadapter.h b/src/messagesadapter.h
index f94e58aa80c604fb67f2d34aad77a5b1976313a8..1d5773a5d9b8fe6f3db67b0a8eae5f96d49f5dab 100644
--- a/src/messagesadapter.h
+++ b/src/messagesadapter.h
@@ -91,6 +91,7 @@ signals:
     void needToUpdateSmartList();
     void contactBanned();
     void navigateToWelcomePageRequested();
+    void invitationAccepted();
 
 public slots:
     void slotSendMessageContentSaved(const QString& content);