diff --git a/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/addBulkGroupChatMsgs.js b/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/addBulkGroupChatMsgs.js
index 05662d54843a9f4780a047838eadc1799c9e921d..cef1990b4c284860fe3e3d31871950da46e7772d 100644
--- a/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/addBulkGroupChatMsgs.js
+++ b/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/addBulkGroupChatMsgs.js
@@ -7,14 +7,22 @@ export default async function addBulkGroupChatMsgs(msgs) {
   if (!msgs.length) return;
 
   const mappedMsgs = msgs
-    .map(({ chatId, meetingId, msg }) => ({
-      _id: new Mongo.ObjectID()._str,
-      ...msg,
-      meetingId,
-      chatId,
-      message: parseMessage(msg.message),
-      sender: msg.sender.id,
-    }))
+    .map(({ chatId, meetingId, msg }) => {
+      const {
+        sender,
+        color,
+        ...restMsg
+      } = msg;
+
+      return {
+        _id: new Mongo.ObjectID()._str,
+        ...restMsg,
+        meetingId,
+        chatId,
+        message: parseMessage(msg.message),
+        sender: sender.id,
+      };
+    })
     .map(el => flat(el, { safe: true }));
 
   try {
diff --git a/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/addGroupChatMsg.js b/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/addGroupChatMsg.js
index c87e2583c201b894c5aad173748460f110bffd28..a9e7d23f4e2b8ca4e964cc6e0d047f6865860ca4 100644
--- a/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/addGroupChatMsg.js
+++ b/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/addGroupChatMsg.js
@@ -28,8 +28,16 @@ export default function addGroupChatMsg(meetingId, chatId, msg) {
     message: String,
     correlationId: Match.Maybe(String),
   });
+
+  const {
+    color,
+    sender,
+    ...restMsg
+  } = msg;
+
   const msgDocument = {
-    ...msg,
+    ...restMsg,
+    sender: sender.id,
     meetingId,
     chatId,
     message: parseMessage(msg.message),
diff --git a/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/syncMeetingChatMsgs.js b/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/syncMeetingChatMsgs.js
index a226dd9636ab2588ca9059834ce2cc8e7c19ab96..e1231576e699b57f7310bdba59092f145a765aa7 100644
--- a/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/syncMeetingChatMsgs.js
+++ b/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/syncMeetingChatMsgs.js
@@ -16,12 +16,18 @@ export default function syncMeetingChatMsgs(meetingId, chatId, msgs) {
 
     msgs
       .forEach((msg) => {
+        const {
+          sender,
+          color,
+          ...restMsg
+        } = msg;
+
         const msgToSync = {
-          ...msg,
+          ...restMsg,
           meetingId,
           chatId,
           message: parseMessage(msg.message),
-          sender: msg.sender.id,
+          sender: sender.id,
         };
 
         const modifier = flat(msgToSync, { safe: true });
diff --git a/bigbluebutton-html5/imports/ui/components/chat/time-window-list/time-window-chat-item/container.jsx b/bigbluebutton-html5/imports/ui/components/chat/time-window-list/time-window-chat-item/container.jsx
index 2971429b24055cad40dd975225d44bb1667f4700..029d856eaca9cb4f2466feabbec400237f6941eb 100644
--- a/bigbluebutton-html5/imports/ui/components/chat/time-window-list/time-window-chat-item/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/chat/time-window-list/time-window-chat-item/container.jsx
@@ -29,21 +29,19 @@ export default function TimeWindowChatItemContainer(props) {
     key,
     timestamp,
     content,
-    color,
   } = message;
-
   const messages = content;
-  const user = users[sender?.id];
+  const user = users[sender];
   const messageKey = key;
   return (
     <TimeWindowChatItem
       {
       ...{
-        color: user?.color || color,
+        color: user?.color,
         isModerator: user?.role === ROLE_MODERATOR,
         isOnline: !!user,
         avatar: user?.avatar,
-        name: user?.name || sender?.name,
+        name: user?.name,
         read: message.read,
         messages,
         isDefaultPoll,
diff --git a/bigbluebutton-html5/imports/ui/components/components-data/chat-context/context.jsx b/bigbluebutton-html5/imports/ui/components/components-data/chat-context/context.jsx
index 3e12ba996840d21945525e161e2b2c0049d8d5a7..a51e06fb1d2b72f678aab9360d179be3e7546e17 100644
--- a/bigbluebutton-html5/imports/ui/components/components-data/chat-context/context.jsx
+++ b/bigbluebutton-html5/imports/ui/components/components-data/chat-context/context.jsx
@@ -46,11 +46,11 @@ export const ChatContext = createContext();
 const generateStateWithNewMessage = (msg, state) => {
   
   const timeWindow = generateTimeWindow(msg.timestamp);
-  const userId = msg.sender.id;
+  const userId = msg.sender;
   const keyName = userId + '-' + timeWindow;
   const msgBuilder = (msg, chat) => {
     const msgTimewindow = generateTimeWindow(msg.timestamp);
-    const key = msg.sender.id + '-' + msgTimewindow;
+    const key = msg.sender + '-' + msgTimewindow;
     const chatIndex = chat?.chatIndexes[key];
     const {
       _id,
@@ -66,7 +66,7 @@ const generateStateWithNewMessage = (msg, state) => {
         lastTimestamp: msg.timestamp,
         read: msg.chatId === PUBLIC_CHAT_KEY && msg.timestamp <= getLoginTime() ? true : false,
         content: [
-          { id: msg.id, name: msg.sender.name, text: msg.message, time: msg.timestamp },
+          { id: msg.id, text: msg.message, time: msg.timestamp },
         ],
       }
     };
@@ -109,7 +109,7 @@ const generateStateWithNewMessage = (msg, state) => {
   const timewindowIndex = stateMessages.chatIndexes[keyName];
   const groupMessage = messageGroups[keyName + '-' + timewindowIndex];
   
-  if (!groupMessage || (groupMessage && groupMessage.sender.id !== stateMessages.lastSender.id)) {
+  if (!groupMessage || (groupMessage && groupMessage.sender !== stateMessages.lastSender)) {
 
     const [tempGroupMessage, sender, newIndex] = msgBuilder(msg, stateMessages);
     stateMessages.lastSender = sender;
@@ -122,13 +122,13 @@ const generateStateWithNewMessage = (msg, state) => {
       messageGroups[key] = tempGroupMessage[key];
       const message = tempGroupMessage[key];
       const previousMessage = message.timestamp <= getLoginTime();
-      if (!previousMessage && message.sender.id !== Auth.userID && !message.id.startsWith(SYSTEM_CHAT_TYPE)) {
+      if (!previousMessage && message.sender !== Auth.userID && !message.id.startsWith(SYSTEM_CHAT_TYPE)) {
         stateMessages.unreadTimeWindows.add(key);
       }
     });
   } else {
     if (groupMessage) {
-      if (groupMessage.sender.id === stateMessages.lastSender.id) {
+      if (groupMessage.sender === stateMessages.lastSender) {
         const previousMessage = msg.timestamp <= getLoginTime();
         const timeWindowKey = keyName + '-' + stateMessages.chatIndexes[keyName];
         messageGroups[timeWindowKey] = {
@@ -137,10 +137,10 @@ const generateStateWithNewMessage = (msg, state) => {
           read: previousMessage ? true : false,
           content: [
             ...groupMessage.content,
-            { id: msg.id, name: groupMessage.sender.name, text: msg.message, time: msg.timestamp }
+            { id: msg.id, text: msg.message, time: msg.timestamp }
           ],
         };
-        if (!previousMessage && groupMessage.sender.id !== Auth.userID) {
+        if (!previousMessage && groupMessage.sender !== Auth.userID) {
           stateMessages.unreadTimeWindows.add(timeWindowKey);
         }
       }