diff --git a/bigbluebutton-html5/imports/api/users-persistent-data/server/publishers.js b/bigbluebutton-html5/imports/api/users-persistent-data/server/publishers.js
index 3a05cb45059f6b5c102d2b7e963c78dab54f593b..b634afd05ce8e989d6a6652e5ac1dbab889db933 100644
--- a/bigbluebutton-html5/imports/api/users-persistent-data/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/users-persistent-data/server/publishers.js
@@ -16,13 +16,7 @@ function usersPersistentData() {
     meetingId,
   };
 
-  const options = {
-    fields: {
-      meetingId: false,
-    },
-  };
-
-  return UsersPersistentData.find(selector, options);
+  return UsersPersistentData.find(selector);
 }
 
 function publishUsersPersistentData(...args) {
diff --git a/bigbluebutton-html5/imports/ui/components/connection-status/modal/component.jsx b/bigbluebutton-html5/imports/ui/components/connection-status/modal/component.jsx
index 55e519707f4ab85f0be55e7414895a02f57b1480..d28e14063ae7fb9aea7e341031641c667bc6780b 100644
--- a/bigbluebutton-html5/imports/ui/components/connection-status/modal/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/connection-status/modal/component.jsx
@@ -30,6 +30,10 @@ const intlMessages = defineMessages({
     id: 'app.connection-status.more',
     description: 'More about conectivity issues',
   },
+  offline: {
+    id: 'app.connection-status.offline',
+    description: 'Offline user',
+  },
   dataSaving: {
     id: 'app.settings.dataSavingTab.description',
     description: 'Description of data saving',
@@ -107,6 +111,8 @@ class ConnectionStatusComponent extends PureComponent {
       const itemStyle = {};
       itemStyle[styles.even] = (index + 1) % 2 === 0;
 
+      const textStyle = {};
+      textStyle[styles.offline] = conn.offline;
       return (
         <div
           key={index}
@@ -126,8 +132,9 @@ class ConnectionStatusComponent extends PureComponent {
             </div>
 
             <div className={styles.name}>
-              <div className={styles.text}>
+              <div className={cx(styles.text, textStyle)}>
                 {conn.name}
+                {conn.offline ? ` (${intl.formatMessage(intlMessages.offline)})` : null}
               </div>
             </div>
             <div className={styles.status}>
@@ -213,7 +220,8 @@ class ConnectionStatusComponent extends PureComponent {
             </h2>
           </div>
           <div className={styles.description}>
-            {intl.formatMessage(intlMessages.description)}{' '}
+            {intl.formatMessage(intlMessages.description)}
+            {' '}
             {this.help
               && (
                 <a href={this.help} target="_blank" rel="noopener noreferrer">
diff --git a/bigbluebutton-html5/imports/ui/components/connection-status/modal/styles.scss b/bigbluebutton-html5/imports/ui/components/connection-status/modal/styles.scss
index 57690552511d604fef0fe17a185538531687098e..5576948d150fe7c5b51e7f31f35fb35806aab4a5 100644
--- a/bigbluebutton-html5/imports/ui/components/connection-status/modal/styles.scss
+++ b/bigbluebutton-html5/imports/ui/components/connection-status/modal/styles.scss
@@ -109,6 +109,10 @@
       overflow: hidden;
       text-overflow: ellipsis;
     }
+
+    .offline {
+      font-style: italic;
+    }
   }
 
   .status {
diff --git a/bigbluebutton-html5/imports/ui/components/connection-status/service.js b/bigbluebutton-html5/imports/ui/components/connection-status/service.js
index 979d4042960a740ba526349be56d01fc6039d9d0..c5311b252c229582edab0b05ff547dcc41d9ef05 100644
--- a/bigbluebutton-html5/imports/ui/components/connection-status/service.js
+++ b/bigbluebutton-html5/imports/ui/components/connection-status/service.js
@@ -1,6 +1,7 @@
 import { defineMessages } from 'react-intl';
 import ConnectionStatus from '/imports/api/connection-status';
 import Users from '/imports/api/users';
+import UsersPersistentData from '/imports/api/users-persistent-data';
 import Auth from '/imports/ui/services/auth';
 import Settings from '/imports/ui/services/settings';
 import Logger from '/imports/startup/client/logger';
@@ -147,7 +148,8 @@ const getMyConnectionStatus = () => {
       meetingId: Auth.meetingID,
       userId: Auth.userID,
     },
-    { fields:
+    {
+      fields:
       {
         level: 1,
         timestamp: 1,
@@ -160,11 +162,12 @@ const getMyConnectionStatus = () => {
       meetingId: Auth.meetingID,
       userId: Auth.userID,
     },
-    { fields:
+    {
+      fields:
       {
         avatar: 1,
         color: 1,
-      }
+      },
     },
   );
 
@@ -188,7 +191,7 @@ const getConnectionStatus = () => {
 
   const connectionStatus = ConnectionStatus.find(
     { meetingId: Auth.meetingID },
-  ).fetch().map(status => {
+  ).fetch().map((status) => {
     const {
       userId,
       level,
@@ -202,15 +205,17 @@ const getConnectionStatus = () => {
     };
   });
 
-  return Users.find(
+  return UsersPersistentData.find(
     { meetingId: Auth.meetingID },
-    { fields:
+    {
+      fields:
       {
         userId: 1,
         name: 1,
         role: 1,
         avatar: 1,
         color: 1,
+        loggedOut: 1,
       },
     },
   ).fetch().reduce((result, user) => {
@@ -220,6 +225,7 @@ const getConnectionStatus = () => {
       role,
       avatar,
       color,
+      loggedOut,
     } = user;
 
     const status = connectionStatus.find(status => status.userId === userId);
@@ -228,6 +234,7 @@ const getConnectionStatus = () => {
       result.push({
         name,
         avatar,
+        offline: loggedOut,
         you: Auth.userID === userId,
         moderator: role === ROLE_MODERATOR,
         color,
@@ -256,7 +263,7 @@ const stopRoundTripTime = () => {
   if (roundTripTimeInterval) {
     clearInterval(roundTripTimeInterval);
   }
-}
+};
 
 const isModerator = () => {
   const user = Users.findOne(
@@ -264,7 +271,7 @@ const isModerator = () => {
       meetingId: Auth.meetingID,
       userId: Auth.userID,
     },
-    { fields: { role: 1 }},
+    { fields: { role: 1 } },
   );
 
   if (user && user.role === ROLE_MODERATOR) {
@@ -301,9 +308,9 @@ const notification = (level, intl) => {
   const notified = getNotified();
   if (notified) {
     return null;
-  } else {
-    Session.set('connectionStatusNotified', true);
   }
+  Session.set('connectionStatusNotified', true);
+
 
   if (intl) notify(intl.formatMessage(intlMessages.notification), level, 'network');
 };
diff --git a/bigbluebutton-html5/public/locales/en.json b/bigbluebutton-html5/public/locales/en.json
index 7a6f44b3b2acd75fae30982da44149ac22b0730d..74ec39896b1eb3833084f2c89e633e3e0f9b6228 100755
--- a/bigbluebutton-html5/public/locales/en.json
+++ b/bigbluebutton-html5/public/locales/en.json
@@ -626,6 +626,7 @@
     "app.connection-status.more": "more",
     "app.connection-status.label": "Connection status",
     "app.connection-status.notification": "Loss in your connection was detected",
+    "app.connection-status.offline": "offline",
     "app.recording.startTitle": "Start recording",
     "app.recording.stopTitle": "Pause recording",
     "app.recording.resumeTitle": "Resume recording",