diff --git a/bigbluebutton-html5/imports/api/users/server/handlers/presenterAssigned.js b/bigbluebutton-html5/imports/api/users/server/handlers/presenterAssigned.js
index ddd232040867e1ae3c7d21ff9dc22971b542f76b..c8a94271bab4a1d3ddcbb6d4df46f84f292ce27b 100644
--- a/bigbluebutton-html5/imports/api/users/server/handlers/presenterAssigned.js
+++ b/bigbluebutton-html5/imports/api/users/server/handlers/presenterAssigned.js
@@ -29,7 +29,6 @@ export default function handlePresenterAssigned(credentials, meetingId) {
   // It's been handled here because right now akka-apps don't handle all cases scenarios.
   if (!prevPresenter) {
     const currentDefaultPodPresenter = PresentationPods.findOne(defaultPodSelector);
-
     const { currentPresenterId } = currentDefaultPodPresenter;
 
     const podPresenterCredentials = {
@@ -37,15 +36,17 @@ export default function handlePresenterAssigned(credentials, meetingId) {
       requesterUserId: assignedBy,
     };
 
-    if (currentDefaultPodPresenter.currentPresenterId !== '') {
-      const oldPresenter = Users.findOne({ userId: currentPresenterId });
+    if (currentPresenterId === '') {
+      return assignPresenter(podPresenterCredentials, presenterId);
+    }
+
+    const oldPresenter = Users.findOne({ userId: currentPresenterId, connectionStatus: 'offline' });
 
-      if (oldPresenter.connectionStatus === 'offline') {
-        return assignPresenter(podPresenterCredentials, presenterId);
-      }
-      return true;
+    if (oldPresenter) {
+      return assignPresenter(podPresenterCredentials, presenterId);
     }
-    return assignPresenter(podPresenterCredentials, presenterId);
+
+    return true;
   }
 
   return changeRole(ROLE_PRESENTER, false, prevPresenter.userId, meetingId, assignedBy);