diff --git a/bigbluebutton-html5/imports/ui/components/app/container.jsx b/bigbluebutton-html5/imports/ui/components/app/container.jsx
index 7abf5d55bd38597a2dbde05e4a9ac78b82df4e53..3e1af53e04e10874a23bc3e7ddb816e23d1a16c5 100755
--- a/bigbluebutton-html5/imports/ui/components/app/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/app/container.jsx
@@ -4,6 +4,7 @@ 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 mapUser from '/imports/ui/services/user/mapUser';
 import Breakouts from '/imports/api/breakouts';
 import Meetings from '/imports/api/meetings';
 
@@ -69,6 +70,7 @@ const AppContainer = (props) => {
 
 export default injectIntl(withModalMounter(withTracker(({ intl, baseControls }) => {
   const currentUser = Users.findOne({ userId: Auth.userID });
+  const currentUserIsLocked = mapUser(currentUser).isLocked;
   const meeting = Meetings.findOne({ meetingId: Auth.meetingID });
   const isMeetingBreakout = meetingIsBreakout();
 
@@ -115,7 +117,7 @@ export default injectIntl(withModalMounter(withTracker(({ intl, baseControls })
     pollIsOpen: Session.get('isPollOpen') && Session.get('isUserListOpen'),
     customStyle: getFromUserSettings('customStyle', false),
     customStyleUrl: getFromUserSettings('customStyleUrl', false),
-    micsLocked: (currentUser.locked && meeting.lockSettingsProp.disableMic),
+    micsLocked: (currentUserIsLocked && meeting.lockSettingsProp.disableMic),
   };
 })(AppContainer)));
 
diff --git a/bigbluebutton-html5/imports/ui/components/audio/audio-controls/container.jsx b/bigbluebutton-html5/imports/ui/components/audio/audio-controls/container.jsx
index 6211484d91a0473c476140b9080374fd5fee53ab..f3e82d48c4417be646f65688d200e2bceed217c8 100644
--- a/bigbluebutton-html5/imports/ui/components/audio/audio-controls/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/audio/audio-controls/container.jsx
@@ -5,6 +5,7 @@ import AudioManager from '/imports/ui/services/audio-manager';
 import { makeCall } from '/imports/ui/services/api';
 import Users from '/imports/api/users/';
 import Meetings from '/imports/api/meetings';
+import mapUser from '/imports/ui/services/user/mapUser';
 import Auth from '/imports/ui/services/auth';
 import AudioControls from './component';
 import AudioModalContainer from '../audio-modal/container';
@@ -46,7 +47,8 @@ export default withModalMounter(withTracker(({ mountModal }) =>
     handleJoinAudio: () => {
       const meeting = Meetings.findOne({ meetingId: Auth.meetingID });
       const currentUser = Users.findOne({ userId: Auth.userID });
-      const micsLocked = (currentUser.locked && meeting.lockSettingsProp.disableMic);
+      const currentUserIsLocked = mapUser(currentUser).isLocked;
+      const micsLocked = (currentUserIsLocked && meeting.lockSettingsProp.disableMic);
 
       return micsLocked ? Service.joinListenOnly() : mountModal(<AudioModalContainer />);
     },
diff --git a/bigbluebutton-html5/imports/ui/components/video-provider/service.js b/bigbluebutton-html5/imports/ui/components/video-provider/service.js
index 0637da6234d9000cd5f9b17a2638f49cfe97845f..9e3f0f33b74d1af92b06baac615844311098204d 100755
--- a/bigbluebutton-html5/imports/ui/components/video-provider/service.js
+++ b/bigbluebutton-html5/imports/ui/components/video-provider/service.js
@@ -105,7 +105,7 @@ class VideoService {
   }
 
   isLocked() {
-    const m = Meetings.findOne({ meetingId: Auth.meetingID });
+    const m = Meetings.findOne({ meetingId: Auth.meetingID }) || {};
     return m.lockSettingsProp ? m.lockSettingsProp.disableCam : false;
   }