diff --git a/bigbluebutton-html5/imports/api/meetings/server/modifiers/addMeeting.js b/bigbluebutton-html5/imports/api/meetings/server/modifiers/addMeeting.js
index 0643b59fecb604d73d60b7e85262bae5d7b68a6a..61de2aa4face1583d8cab62e25e98cf924a07e20 100644
--- a/bigbluebutton-html5/imports/api/meetings/server/modifiers/addMeeting.js
+++ b/bigbluebutton-html5/imports/api/meetings/server/modifiers/addMeeting.js
@@ -5,7 +5,7 @@ import {
 } from 'meteor/check';
 import Meetings from '/imports/api/meetings';
 import Logger from '/imports/startup/server/logger';
-import createNote from '/imports/api/note/server/methods/createNote'
+import createNote from '/imports/api/note/server/methods/createNote';
 
 export default function addMeeting(meeting) {
   const meetingId = meeting.meetingProp.intId;
@@ -114,6 +114,7 @@ export default function addMeeting(meeting) {
     $set: Object.assign({
       meetingId,
       meetingEnded,
+      publishedPoll: false,
     }, flat(newMeeting, {
       safe: true,
     })),
diff --git a/bigbluebutton-html5/imports/api/meetings/server/modifiers/setPublishedPoll.js b/bigbluebutton-html5/imports/api/meetings/server/modifiers/setPublishedPoll.js
new file mode 100644
index 0000000000000000000000000000000000000000..7bf371914f788c4e5fab82f41d9f9cc134ca29e0
--- /dev/null
+++ b/bigbluebutton-html5/imports/api/meetings/server/modifiers/setPublishedPoll.js
@@ -0,0 +1,28 @@
+import Meetings from '/imports/api/meetings';
+import Logger from '/imports/startup/server/logger';
+import { check } from 'meteor/check';
+
+export default function setPublishedPoll(meetingId, isPublished) {
+  check(meetingId, String);
+  check(isPublished, Boolean);
+
+  const selector = {
+    meetingId,
+  };
+
+  const modifier = {
+    $set: {
+      publishedPoll: isPublished,
+    },
+  };
+
+  const cb = (err) => {
+    if (err != null) {
+      return Logger.error(`Setting publishedPoll=${isPublished} for meetingId=${meetingId}`);
+    }
+
+    return Logger.info(`Set publishedPoll=${isPublished} in meeitingId=${meetingId}`);
+  };
+
+  return Meetings.upsert(selector, modifier, cb);
+}
diff --git a/bigbluebutton-html5/imports/api/polls/server/handlers/pollPublished.js b/bigbluebutton-html5/imports/api/polls/server/handlers/pollPublished.js
index e68bd916ed0623fa99e9516eb5f9ebc1cce92966..e2f754c76cee6845a77c614878655381f4f2292c 100644
--- a/bigbluebutton-html5/imports/api/polls/server/handlers/pollPublished.js
+++ b/bigbluebutton-html5/imports/api/polls/server/handlers/pollPublished.js
@@ -1,10 +1,14 @@
 import { check } from 'meteor/check';
 import removePoll from '../modifiers/removePoll';
+import setPublishedPoll from '../../../meetings/server/modifiers/setPublishedPoll';
 
 export default function pollPublished({ body }, meetingId) {
   const { pollId } = body;
 
   check(meetingId, String);
+  check(pollId, String);
+
+  setPublishedPoll(meetingId, true);
 
   return removePoll(meetingId, pollId);
 }
diff --git a/bigbluebutton-html5/imports/api/polls/server/handlers/pollStarted.js b/bigbluebutton-html5/imports/api/polls/server/handlers/pollStarted.js
index a912fc8002fb10a6547a84825878ff52c584834a..013dba40879556eef379ff8ac3534fcebb19e97f 100644
--- a/bigbluebutton-html5/imports/api/polls/server/handlers/pollStarted.js
+++ b/bigbluebutton-html5/imports/api/polls/server/handlers/pollStarted.js
@@ -1,5 +1,6 @@
 import { check } from 'meteor/check';
 import addPoll from '../modifiers/addPoll';
+import setPublishedPoll from '../../../meetings/server/modifiers/setPublishedPoll';
 
 export default function pollStarted({ body }, meetingId) {
   const { userId } = body;
@@ -9,5 +10,7 @@ export default function pollStarted({ body }, meetingId) {
   check(userId, String);
   check(poll, Object);
 
+  setPublishedPoll(meetingId, false);
+
   return addPoll(meetingId, userId, poll);
 }
diff --git a/bigbluebutton-html5/imports/ui/components/app/component.jsx b/bigbluebutton-html5/imports/ui/components/app/component.jsx
index c08ac12e4b7f2a8e5054acb65ed64182d4fec52e..df74fa7b1250ae8fa76c05a689a187da11e6ee97 100755
--- a/bigbluebutton-html5/imports/ui/components/app/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/app/component.jsx
@@ -48,6 +48,10 @@ const intlMessages = defineMessages({
     id: 'app.iOSWarning.label',
     description: 'message indicating to upgrade ios version',
   },
+  pollPublishedLabel: {
+    id: 'app.whiteboard.annotations.poll',
+    description: 'message displayed when a poll is published',
+  },
 });
 
 const propTypes = {
@@ -125,6 +129,17 @@ class App extends Component {
     logger.info({ logCode: 'app_component_componentdidmount' }, 'Client loaded successfully');
   }
 
+  componentDidUpdate(prevProps, prevState) {
+    const { hasPublishedPoll, intl, notify } = this.props;
+    if (!prevProps.hasPublishedPoll && hasPublishedPoll) {
+      notify(
+        intl.formatMessage(intlMessages.pollPublishedLabel),
+        'info',
+        'polling',
+      );
+    }
+  }
+
   componentWillUnmount() {
     window.removeEventListener('resize', this.handleWindowResize, false);
     if (navigator.connection) {
diff --git a/bigbluebutton-html5/imports/ui/components/app/container.jsx b/bigbluebutton-html5/imports/ui/components/app/container.jsx
index 1403a1959b51285f4c39262d79d066bbd3f469eb..d9a5d308f47307c246ac21faa90cbc7a2231fe05 100755
--- a/bigbluebutton-html5/imports/ui/components/app/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/app/container.jsx
@@ -4,10 +4,10 @@ import { defineMessages, injectIntl } from 'react-intl';
 import PropTypes from 'prop-types';
 import Auth from '/imports/ui/services/auth';
 import Users from '/imports/api/users';
+import Meetings from '/imports/api/meetings';
 import { notify } from '/imports/ui/services/notification';
 import ClosedCaptionsContainer from '/imports/ui/components/closed-captions/container';
 import getFromUserSettings from '/imports/ui/services/users-settings';
-
 import UserInfos from '/imports/api/users-infos';
 
 import {
@@ -102,6 +102,7 @@ export default injectIntl(withModalMounter(withTracker(({ intl, baseControls })
     UserInfo,
     notify,
     validIOSVersion,
+    hasPublishedPoll: Meetings.findOne({ meetingId: Auth.meetingID }).publishedPoll,
   };
 })(AppContainer)));
 
diff --git a/bigbluebutton-html5/imports/ui/components/whiteboard/annotations/poll/component.jsx b/bigbluebutton-html5/imports/ui/components/whiteboard/annotations/poll/component.jsx
index 1efd7d1a1dec41db3323cfe41089e93be3ff6724..88c3875575ecfd58f9b948035f9fa16717445988 100644
--- a/bigbluebutton-html5/imports/ui/components/whiteboard/annotations/poll/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/whiteboard/annotations/poll/component.jsx
@@ -543,8 +543,7 @@ class PollDrawComponent extends Component {
     }
     return (
       <g>
-        {textArray.map(line => this.renderLine(line))
-        }
+        {textArray.map(line => this.renderLine(line))}
         <text
           fontFamily="Arial"
           fontSize={calcFontSize}