diff --git a/bigbluebutton-html5/imports/ui/components/modal/random-user/container.jsx b/bigbluebutton-html5/imports/ui/components/modal/random-user/container.jsx
index 546591ac0e6089f0ec96b0cb28957b61cb40213e..5f434cea1e05aa3de5ab91b02afd879c0f6d82eb 100644
--- a/bigbluebutton-html5/imports/ui/components/modal/random-user/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/modal/random-user/container.jsx
@@ -1,4 +1,4 @@
-import React from 'react';
+import React, { useContext } from 'react';
 import { withTracker } from 'meteor/react-meteor-data';
 import Meetings from '/imports/api/meetings';
 import Users from '/imports/api/users';
@@ -6,11 +6,33 @@ import Auth from '/imports/ui/services/auth';
 import { withModalMounter } from '/imports/ui/components/modal/service';
 import { makeCall } from '/imports/ui/services/api';
 import RandomUserSelect from './component';
+import { UsersContext } from '/imports/ui/components/components-data/users-context/context';
 
 const SELECT_RANDOM_USER_ENABLED = Meteor.settings.public.selectRandomUser.enabled;
 
-const RandomUserSelectContainer = props => <RandomUserSelect {...props} />;
+const RandomUserSelectContainer = (props) => {
+  const usingUsersContext = useContext(UsersContext);
+  const { users } = usingUsersContext;
+  const { randomlySelectedUser } = props;
 
+  let mappedRandomlySelectedUsers = [];
+
+  if (randomlySelectedUser) {
+    mappedRandomlySelectedUsers = randomlySelectedUser.map((ui) => {
+      const selectedUser = users[Auth.meetingID][ui[0]];
+      return [{
+        userId: selectedUser.userId,
+        avatar: selectedUser.avatar,
+        color: selectedUser.color,
+        name: selectedUser.name,
+      }, ui[1]];
+    });
+  }
+
+  const currentUser = { userId: Auth.userID, presenter: users[Auth.meetingID][Auth.userID].presenter };
+
+  return <RandomUserSelect {...props} mappedRandomlySelectedUsers={mappedRandomlySelectedUsers} currentUser={currentUser} />;
+};
 export default withModalMounter(withTracker(({ mountModal }) => {
   const viewerPool = Users.find({
     meetingId: Auth.meetingID,
@@ -28,29 +50,6 @@ export default withModalMounter(withTracker(({ mountModal }) => {
     },
   });
 
-  let mappedRandomlySelectedUsers = [];
-  if (meeting.randomlySelectedUser) {
-    mappedRandomlySelectedUsers = meeting.randomlySelectedUser.map(function(ui) {
-      const selectedUser = Users.findOne({
-        meetingId: Auth.meetingID,
-        userId: ui[0],
-      }, {
-        fields: {
-          userId: 1,
-          avatar: 1,
-          color: 1,
-          name: 1,
-        },
-      });
-      return [selectedUser,ui[1]];
-    });
-  }
-
-  const currentUser = Users.findOne(
-    { userId: Auth.userID },
-    { fields: { userId: 1, presenter: 1 } },
-  );
-
   const randomUserReq = () => (SELECT_RANDOM_USER_ENABLED ? makeCall('setRandomUser') : null);
 
   const clearRandomlySelectedUser = () => (SELECT_RANDOM_USER_ENABLED ? makeCall('clearRandomlySelectedUser') : null);
@@ -59,8 +58,7 @@ export default withModalMounter(withTracker(({ mountModal }) => {
     closeModal: () => mountModal(null),
     numAvailableViewers: viewerPool.length,
     randomUserReq,
-    mappedRandomlySelectedUsers,
-    currentUser,
     clearRandomlySelectedUser,
+    randomlySelectedUser: meeting.randomlySelectedUser,
   });
 })(RandomUserSelectContainer));