diff --git a/src/Olm.cpp b/src/Olm.cpp
index 07fc49f6c6b7fe5f7fac43ff9e7d76c630ca7655..fe789560604a81aab695b8070a6e05f8567c4a3f 100644
--- a/src/Olm.cpp
+++ b/src/Olm.cpp
@@ -579,13 +579,12 @@ encrypt_group_message(const std::string &room_id, const std::string &device_id,
         mtx::common::RelatesTo r_relation;
 
         // relations shouldn't be encrypted...
-        if (body["content"].contains("m.relates_to") &&
-            body["content"]["m.relates_to"].contains("m.in_reply_to")) {
-                relation = body["content"]["m.relates_to"];
-                body["content"].erase("m.relates_to");
-        } else if (body["content"]["m.relates_to"].contains("event_id")) {
-                r_relation = body["content"]["m.relates_to"];
-                body["content"].erase("m.relates_to");
+        if (body["content"].contains("m.relates_to")) {
+                if (body["content"]["m.relates_to"].contains("m.in_reply_to")) {
+                        relation = body["content"]["m.relates_to"];
+                } else if (body["content"]["m.relates_to"].contains("event_id")) {
+                        r_relation = body["content"]["m.relates_to"];
+                }
         }
 
         auto payload = olm::client()->encrypt_group_message(session.get(), body.dump());