diff --git a/gajim/common/modules/mam.py b/gajim/common/modules/mam.py
index 34eb0402900f286c896df505be5f86646a8f22ce..8f258b91a2a329971eaab648055d68437f1d1580 100644
--- a/gajim/common/modules/mam.py
+++ b/gajim/common/modules/mam.py
@@ -164,14 +164,18 @@ class MAM:
         else:
             event = MamMessageReceivedEvent(None, **event_attrs)
 
-        app.plugin_manager.extension_point(
-            'decrypt', self._con, event, self._decryption_finished)
-
-        if not event.encrypted:
-            eme = parse_eme(event.message)
-            if eme is not None:
-                event.msgtxt = eme
+        if properties.is_encrypted:
+            event.additional_data['encrypted'] = properties.encrypted.additional_data
             self._decryption_finished(event)
+        else:
+            app.plugin_manager.extension_point(
+                'decrypt', self._con, event, self._decryption_finished)
+
+            if not event.encrypted:
+                eme = parse_eme(event.message)
+                if eme is not None:
+                    event.msgtxt = eme
+                self._decryption_finished(event)
 
         raise nbxmpp.NodeProcessed