diff --git a/bigbluebutton-html5/imports/startup/client/base.jsx b/bigbluebutton-html5/imports/startup/client/base.jsx
index b3f0ff58ec6882d25b5c38d6bb2509d629a9d9c4..7fb908e3c401779414c9b019ae642d83478a6903 100755
--- a/bigbluebutton-html5/imports/startup/client/base.jsx
+++ b/bigbluebutton-html5/imports/startup/client/base.jsx
@@ -219,15 +219,31 @@ const BaseContainer = withTracker(() => {
   let breakoutRoomSubscriptionHandler;
   let meetingModeratorSubscriptionHandler;
 
-  const User = Users.findOne({ intId: credentials.requesterUserId });
-  const meeting = Meetings.findOne({ meetingId });
+  const options = {
+    approved: 1,
+    authed: 1,
+    ejected: 1,
+    color: 1,
+    effectiveConnectionType: 1,
+    extId: 1,
+    guest: 1,
+    intId: 1,
+    locked: 1,
+    loggedOut: 1,
+    meetingId: 1,
+    userId: 1,
+  };
+  const User = Users.findOne({ intId: credentials.requesterUserId }, { fields: options });
+  const meeting = Meetings.findOne({ meetingId }, { fields: {
+    meetingEnded: 1,
+    }});
   if (meeting) {
     const { meetingEnded } = meeting;
     if (meetingEnded) Session.set('codeError', '410');
   }
 
-  const approved = !!Users.findOne({ userId: Auth.userID, approved: true, guest: true });
-  const ejected = Users.findOne({ userId: Auth.userID, ejected: true });
+  const approved = !!Users.findOne({ userId: Auth.userID, approved: true, guest: true }, { fields: options });
+  const ejected = Users.findOne({ userId: Auth.userID, ejected: true }, { fields: options });
   let userSubscriptionHandler;
 
 
@@ -252,7 +268,7 @@ const BaseContainer = withTracker(() => {
     },
   });
 
-  Meetings.find({ meetingId }).observe({
+  Meetings.find({ meetingId }, { fields: { recordProp: 1 }}).observe({
     changed: (newDocument, oldDocument) => {
       if (newDocument.recordProp) {
         if (!oldDocument.recordProp.recording && newDocument.recordProp.recording) {
diff --git a/bigbluebutton-html5/imports/ui/components/actions-bar/container.jsx b/bigbluebutton-html5/imports/ui/components/actions-bar/container.jsx
index 163409fd8e43460c1c660b855a248dec9948f2c3..d2cdfa46ee2392e399a4b091af12dc730e1eaab6 100644
--- a/bigbluebutton-html5/imports/ui/components/actions-bar/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/actions-bar/container.jsx
@@ -22,7 +22,7 @@ const ActionsBarContainer = props => <ActionsBar {...props} />;
 export default withTracker(() => {
   const POLLING_ENABLED = Meteor.settings.public.poll.enabled;
 
-  Meetings.find({ meetingId: Auth.meetingID }).observeChanges({
+  Meetings.find({ meetingId: Auth.meetingID }, { fields: { recordProp: 1 } }).observeChanges({
     changed: (id, fields) => {
       if (fields.recordProp && fields.recordProp.recording) {
         this.window.parent.postMessage({ response: 'recordingStarted' }, '*');
diff --git a/bigbluebutton-html5/imports/ui/components/app/container.jsx b/bigbluebutton-html5/imports/ui/components/app/container.jsx
index 99ffd87db307a8667ab6bd0b8a2c79b7f551f924..787de1b7c525f4a5ced5a7b16d5359ac54962090 100755
--- a/bigbluebutton-html5/imports/ui/components/app/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/app/container.jsx
@@ -79,7 +79,7 @@ export default injectIntl(withModalMounter(withTracker(({ intl, baseControls })
   }
 
   // Check if user is removed out of the session
-  Users.find({ userId: Auth.userID }).observeChanges({
+  Users.find({ userId: Auth.userID }, { fields: { connectionId: 1, ejected: 1 }}).observeChanges({
     changed(id, fields) {
       const hasNewConnection = 'connectionId' in fields && (fields.connectionId !== Meteor.connection._lastSessionId);
 
diff --git a/bigbluebutton-html5/imports/ui/components/nav-bar/container.jsx b/bigbluebutton-html5/imports/ui/components/nav-bar/container.jsx
index a2fa605efe6f4ec259950447a62d706123387a60..40e8c86a80ceb159e575de78f95200b410dbd18f 100755
--- a/bigbluebutton-html5/imports/ui/components/nav-bar/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/nav-bar/container.jsx
@@ -44,7 +44,7 @@ export default withTracker(() => {
     return hasUnreadMessages;
   };
 
-  Meetings.find({ meetingId: Auth.meetingID }).observeChanges({
+  Meetings.find({ meetingId: Auth.meetingID }, { fields: { recordProp: 1 } }).observeChanges({
     changed: (id, fields) => {
       if (fields.recordProp && fields.recordProp.recording) {
         this.window.parent.postMessage({ response: 'recordingStarted' }, '*');
diff --git a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/user-list-item/container.jsx b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/user-list-item/container.jsx
index 046c59aab55e5f16def474b7fbfa15c5d80d785d..3ac0e39535c8d167c4fa12b7f61d0eb46e2b0e18 100644
--- a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/user-list-item/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/user-list-item/container.jsx
@@ -12,7 +12,7 @@ const UserListItemContainer = props => <UserListItem {...props} />;
 export default withTracker(({ userId }) => {
   const findUserInBreakout = Breakouts.findOne({ 'joinedUsers.userId': new RegExp(`^${userId}`) });
   const breakoutSequence = (findUserInBreakout || {}).sequence;
-  const Meeting = Meetings.findOne({ MeetingId: Auth.meetingID });
+  const Meeting = Meetings.findOne({ MeetingId: Auth.meetingID }, { fields: {meetingProp: 1}});
   return {
     user: mapUser(Users.findOne({ userId })),
     userInBreakout: !!findUserInBreakout,
diff --git a/bigbluebutton-html5/imports/ui/components/whiteboard/service.js b/bigbluebutton-html5/imports/ui/components/whiteboard/service.js
index 714142f9742fde6be7b58d9a748178c78388cefb..e736a0e809d104fc8b12a9bbe37246ef2ebee501 100755
--- a/bigbluebutton-html5/imports/ui/components/whiteboard/service.js
+++ b/bigbluebutton-html5/imports/ui/components/whiteboard/service.js
@@ -187,7 +187,7 @@ WhiteboardMultiUser.find({ meetingId: Auth.meetingID }).observeChanges({
   changed: clearFakeAnnotations,
 });
 
-Users.find({ userId: Auth.userID }).observeChanges({
+Users.find({ userId: Auth.userID }, { fields: { presenter: 1 } }).observeChanges({
   changed(id, { presenter }) {
     if (presenter === false) clearFakeAnnotations();
   },