diff --git a/bigbluebutton-html5/imports/ui/components/nav-bar/container.jsx b/bigbluebutton-html5/imports/ui/components/nav-bar/container.jsx
index 303ef772581a94af988027373fe100227c3aef58..04e643094052b2d21a329f6f516584eed3663e53 100755
--- a/bigbluebutton-html5/imports/ui/components/nav-bar/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/nav-bar/container.jsx
@@ -7,6 +7,7 @@ import Users from '/imports/api/users';
 import Auth from '/imports/ui/services/auth';
 import getFromUserSettings from '/imports/ui/services/users-settings';
 import userListService from '../user-list/service';
+import NoteService from '/imports/ui/components/note/service';
 import Service from './service';
 import NavBar from './component';
 
@@ -44,7 +45,10 @@ export default withTracker(() => {
     const hasUnreadMessages = activeChats
       .filter(chat => chat.userId !== Session.get('idChatOpen'))
       .some(chat => chat.unreadCounter > 0);
-    return hasUnreadMessages;
+
+    const hasUnreadNotes = NoteService.hasUnreadNotes();
+
+    return hasUnreadMessages || hasUnreadNotes;
   };
 
   const { connectRecordingObserver, processOutsideToggleRecording } = Service;
diff --git a/bigbluebutton-html5/imports/ui/components/note/component.jsx b/bigbluebutton-html5/imports/ui/components/note/component.jsx
index 6efa4df546c9a9ff7687eca596b5116b0bc265b9..15c498d499e37c085722623c81b8c23ffc930ed4 100644
--- a/bigbluebutton-html5/imports/ui/components/note/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/note/component.jsx
@@ -1,4 +1,4 @@
-import React from 'react';
+import React, { Component } from 'react';
 import PropTypes from 'prop-types';
 import { Session } from 'meteor/session';
 import { defineMessages, injectIntl } from 'react-intl';
@@ -29,51 +29,61 @@ const propTypes = {
   }).isRequired,
 };
 
-const defaultProps = {
-};
+class Note extends Component {
+  constructor(props) {
+    super(props);
 
-const Note = (props) => {
-  const {
-    isLocked,
-    intl,
-    isRTL,
-  } = props;
+    this.noteURL = NoteService.getNoteURL();
+    this.readOnlyURL = NoteService.getReadOnlyURL();
+  }
 
-  const url = isLocked ? NoteService.getReadOnlyURL() : NoteService.getNoteURL();
-  return (
-    <div
-      data-test="note"
-      className={styles.note}
-    >
-      <header className={styles.header}>
-        <div
-          data-test="noteTitle"
-          className={styles.title}
-        >
-          <Button
-            onClick={() => {
-              Session.set('openPanel', 'userlist');
-            }}
-            aria-label={intl.formatMessage(intlMessages.hideNoteLabel)}
-            label={intl.formatMessage(intlMessages.title)}
-            icon={isRTL ? "right_arrow" : "left_arrow"}
-            className={styles.hideBtn}
-          />
-        </div>
-      </header>
-      <iframe
-        title="etherpad"
-        src={url}
-        aria-describedby="sharedNotesEscapeHint"
-      />
-      <span id="sharedNotesEscapeHint" className={styles.hint} aria-hidden>
-        {intl.formatMessage(intlMessages.tipLabel)}
-      </span>
-    </div>
-  );
-};
+  componentWillUnmount() {
+    const revs = NoteService.getRevs();
+    NoteService.setLastRevs(revs);
+  }
+
+  render() {
+    const {
+      isLocked,
+      intl,
+      isRTL,
+    } = this.props;
+
+    const url = isLocked ? this.readOnlyURL : this.noteURL;
+    return (
+      <div
+        data-test="note"
+        className={styles.note}
+      >
+        <header className={styles.header}>
+          <div
+            data-test="noteTitle"
+            className={styles.title}
+          >
+            <Button
+              onClick={() => {
+                Session.set('openPanel', 'userlist');
+              }}
+              aria-label={intl.formatMessage(intlMessages.hideNoteLabel)}
+              label={intl.formatMessage(intlMessages.title)}
+              icon={isRTL ? "right_arrow" : "left_arrow"}
+              className={styles.hideBtn}
+            />
+          </div>
+        </header>
+        <iframe
+          title="etherpad"
+          src={url}
+          aria-describedby="sharedNotesEscapeHint"
+        />
+        <span id="sharedNotesEscapeHint" className={styles.hint} aria-hidden>
+          {intl.formatMessage(intlMessages.tipLabel)}
+        </span>
+      </div>
+    );
+  }
+}
 
 Note.propTypes = propTypes;
-Note.defaultProps = defaultProps;
 
 export default injectWbResizeEvent(injectIntl(Note));
diff --git a/bigbluebutton-html5/imports/ui/components/note/service.js b/bigbluebutton-html5/imports/ui/components/note/service.js
index 4db31552ee99fd3f616349ca55c8b3ac473837f7..3ae8dde37694344f9d9e93ba579d940ae40e2f70 100644
--- a/bigbluebutton-html5/imports/ui/components/note/service.js
+++ b/bigbluebutton-html5/imports/ui/components/note/service.js
@@ -67,6 +67,31 @@ const getRevs = () => {
   return note ? note.revs : 0;
 };
 
+const setLastRevs = (revs) => {
+  const lastRevs = getLastRevs();
+
+  if (revs !== 0 && revs > lastRevs) {
+    Session.set('noteLastRevs', revs);
+  }
+};
+
+const getLastRevs = () => {
+  const lastRevs = Session.get('noteLastRevs');
+
+  if (!lastRevs) return -1;
+  return lastRevs;
+};
+
+const hasUnreadNotes = () => {
+  const opened = isPanelOpened();
+  if (opened) return false;
+
+  const revs = getRevs();
+  const lastRevs = getLastRevs();
+
+  return (revs !== 0 && revs > lastRevs);
+}
+
 const isEnabled = () => {
   const note = Note.findOne({ meetingId: Auth.meetingID });
   return NOTE_CONFIG.enabled && note;
@@ -81,4 +106,7 @@ export default {
   isEnabled,
   isPanelOpened,
   getRevs,
+  setLastRevs,
+  getLastRevs,
+  hasUnreadNotes
 };
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 667688c70af865346eba3baa83e30a8fb40df2be..b54f868289da8cd6eb3a89cd1059479e25a2276c 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
@@ -41,7 +41,9 @@ class UserNotes extends Component {
   componentDidMount() {
     const { revs } = this.props;
 
-    if (revs !== 0) this.setState({ unread: true });
+    const lastRevs = NoteService.getLastRevs();
+
+    if (revs !== 0 && revs > lastRevs) this.setState({ unread: true });
   }
 
   componentDidUpdate(prevProps) {