diff --git a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/styles.scss b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/styles.scss
index fac980e0fd802aac66729997f8fc5c4c305afd6c..f0e2dc7778eb571663fd38be013e9bedd6a0ff3a 100755
--- a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/styles.scss
+++ b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/styles.scss
@@ -134,3 +134,8 @@
   overflow: hidden;
   flex-shrink: 1;
 }
+
+.noteLock {
+  font-size: 65%;
+  color: var(--color-gray-light);
+}
diff --git a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-notes/component.jsx b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-notes/component.jsx
index 34b1bc59439046e263856712808ec6e20b10be8c..75fb591c5c4398f57523bf39559d521dba88a4d9 100644
--- a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-notes/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-notes/component.jsx
@@ -57,7 +57,7 @@ class UserNotes extends Component {
   }
 
   renderNotes() {
-    const { intl } = this.props;
+    const { intl, disableNotes } = this.props;
     const { unread } = this.state;
 
     let notification = null;
@@ -82,7 +82,19 @@ class UserNotes extends Component {
         onClick={NoteService.toggleNotePanel}
       >
         <Icon iconName="copy" />
-        <span aria-hidden>{intl.formatMessage(intlMessages.sharedNotes)}</span>
+        <div aria-hidden>
+          <div>
+            {intl.formatMessage(intlMessages.sharedNotes)}
+          </div>
+          {disableNotes
+            ? (
+              <div className={styles.noteLock}>
+                <Icon iconName="lock" />
+                <span>Locked by (moderator)</span>
+              </div>
+            ) : null
+          }
+        </div>
         {notification}
       </div>
     );
diff --git a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-notes/container.jsx b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-notes/container.jsx
index 4e8f514ec274b6982c38b1c078e523c040630155..bc14addf6dd67e6d3137f679f3fb7351fe951f78 100644
--- a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-notes/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-notes/container.jsx
@@ -1,11 +1,27 @@
 import React from 'react';
 import { withTracker } from 'meteor/react-meteor-data';
 import NoteService from '/imports/ui/components/note/service';
+import Meetings from '/imports/api/meetings';
+import Users from '/imports/api/users';
+import Auth from '/imports/ui/services/auth';
 import UserNotes from './component';
 
+const ROLE_VIEWER = Meteor.settings.public.user.role_viewer;
+
 const UserNotesContainer = props => <UserNotes {...props} />;
 
-export default withTracker(() => ({
-  isPanelOpened: NoteService.isPanelOpened(),
-  revs: NoteService.getRevs(),
-}))(UserNotesContainer);
+export default withTracker(() => {
+  const Meeting = Meetings.findOne({ meetingId: Auth.meetingID },
+    { fields: { 'lockSettingsProps.disableNote': 1 } });
+  const isViewer = Users.findOne({ meetingId: Auth.meetingID, userId: Auth.userID }, {
+    fields: {
+      role: 1,
+    },
+  }).role === ROLE_VIEWER;
+
+  return {
+    isPanelOpened: NoteService.isPanelOpened(),
+    revs: NoteService.getRevs(),
+    disableNotes: Meeting.lockSettingsProps.disableNote && isViewer,
+  };
+})(UserNotesContainer);