diff --git a/bigbluebutton-html5/imports/api/users/server/handlers/presenterAssigned.js b/bigbluebutton-html5/imports/api/users/server/handlers/presenterAssigned.js
index 105772c23263026b5baed5bd935bf5d74512e3f9..ddd232040867e1ae3c7d21ff9dc22971b542f76b 100644
--- a/bigbluebutton-html5/imports/api/users/server/handlers/presenterAssigned.js
+++ b/bigbluebutton-html5/imports/api/users/server/handlers/presenterAssigned.js
@@ -1,10 +1,13 @@
 import Users from '/imports/api/users';
+import PresentationPods from '/imports/api/presentation-pods';
 import changeRole from '/imports/api/users/server/modifiers/changeRole';
+import assignPresenter from '../methods/assignPresenter';
 
-export default function handlePresenterAssigned({ body }, meetingId) {
+export default function handlePresenterAssigned(credentials, meetingId) {
   const USER_CONFIG = Meteor.settings.public.user;
   const ROLE_PRESENTER = USER_CONFIG.role_presenter;
 
+  const { body } = credentials;
   const { presenterId, assignedBy } = body;
 
   changeRole(ROLE_PRESENTER, true, presenterId, meetingId, assignedBy);
@@ -15,11 +18,34 @@ export default function handlePresenterAssigned({ body }, meetingId) {
     presenter: true,
   };
 
+  const defaultPodSelector = {
+    podId: 'DEFAULT_PRESENTATION_POD',
+  };
+
   const prevPresenter = Users.findOne(selector);
 
   // no previous presenters
+  // The below code is responsible for set Meeting presenter to be default pod presenter as well.
+  // It's been handled here because right now akka-apps don't handle all cases scenarios.
   if (!prevPresenter) {
-    return true;
+    const currentDefaultPodPresenter = PresentationPods.findOne(defaultPodSelector);
+
+    const { currentPresenterId } = currentDefaultPodPresenter;
+
+    const podPresenterCredentials = {
+      meetingId,
+      requesterUserId: assignedBy,
+    };
+
+    if (currentDefaultPodPresenter.currentPresenterId !== '') {
+      const oldPresenter = Users.findOne({ userId: currentPresenterId });
+
+      if (oldPresenter.connectionStatus === 'offline') {
+        return assignPresenter(podPresenterCredentials, presenterId);
+      }
+      return true;
+    }
+    return assignPresenter(podPresenterCredentials, presenterId);
   }
 
   return changeRole(ROLE_PRESENTER, false, prevPresenter.userId, meetingId, assignedBy);