diff --git a/src/chat_control.py b/src/chat_control.py
index 1cfc653038b11770ea0d0edb9bb23370e1d83b4e..33bf6c9509b2dcb4da7aa40ac7b8db799b81d5e2 100644
--- a/src/chat_control.py
+++ b/src/chat_control.py
@@ -2380,8 +2380,9 @@ class ChatControl(ChatControlBase):
         self._show_lock_image(e2e_is_active, 'E2E', e2e_is_active, self.session and \
                         self.session.is_loggable(), self.session and self.session.verified_identity)
 
-    def print_session_details(self):
-        if isinstance(self.session, EncryptedStanzaSession):
+    def print_session_details(self, old_session=None):
+        if isinstance(self.session, EncryptedStanzaSession) or \
+        (old_session and isinstance(old_session, EncryptedStanzaSession)):
             self.print_esession_details()
         elif isinstance(self.session, ArchivingStanzaSession):
             self.print_archiving_session_details()
diff --git a/src/message_control.py b/src/message_control.py
index 8274472546207762fd36e607a5d34ab3e0d0b4a6..be94ab3ddf694a8e76eb59a27aaddd3f95170c0c 100644
--- a/src/message_control.py
+++ b/src/message_control.py
@@ -219,7 +219,7 @@ class MessageControl(object):
             ArchivingStanzaSession) and oldsession.archiving)
 
         if crypto_changed or archiving_changed:
-            self.print_session_details()
+            self.print_session_details(oldsession)
 
     def remove_session(self, session):
         if session != self.session: