diff --git a/bigbluebutton-html5/imports/ui/components/chat/service.js b/bigbluebutton-html5/imports/ui/components/chat/service.js
index 085e0c2eec607ca0ea4078fee35ed1f45db73715..70572d3c30b8201d339f48663961b320b77c1599 100755
--- a/bigbluebutton-html5/imports/ui/components/chat/service.js
+++ b/bigbluebutton-html5/imports/ui/components/chat/service.js
@@ -105,15 +105,14 @@ const isChatLocked = (receiverID) => {
   const isPublic = receiverID === PUBLIC_CHAT_ID;
 
   const meeting = Meetings.findOne({});
-  const user = Users.findOne({});
+  const user = Users.findOne({ userId: Auth.userID });
 
   if (meeting.lockSettingsProp !== undefined) {
     const isPubChatLocked = meeting.lockSettingsProp.disablePubChat;
     const isPrivChatLocked = meeting.lockSettingsProp.disablePrivChat;
-    const isViewer = user.role === 'VIEWER';
 
-    return (isPublic && isPubChatLocked && isViewer && user.locked)
-      || (!isPublic && isPrivChatLocked && isViewer && user.locked);
+    return mapUser(user).isLocked &&
+      ((isPublic && isPubChatLocked) || (!isPublic && isPrivChatLocked));
   }
 
   return false;