diff --git a/bigbluebutton-html5/imports/api/slides/server/modifiers/displayThisSlide.js b/bigbluebutton-html5/imports/api/slides/server/modifiers/displayThisSlide.js
index ad8bed79e6e76146bd01ee273491fa55de636c86..6d198ee8352198f71bf387f18e21cfc3a0695046 100755
--- a/bigbluebutton-html5/imports/api/slides/server/modifiers/displayThisSlide.js
+++ b/bigbluebutton-html5/imports/api/slides/server/modifiers/displayThisSlide.js
@@ -5,21 +5,18 @@ export function displayThisSlide(meetingId, newSlideId, slideObject) {
   // grab the presentationId part of the slideId
   const presentationId = newSlideId.split('/')[0];
 
-  // change current to false for the old slide
-  Slides.update({
+  let currentSlide = Slides.findOne({
     presentationId: presentationId,
     'slide.current': true,
-  }, {
-    $set: {
-      'slide.current': false,
-    },
   });
 
-  //change current to true for the new slide and update its ratios and offsets
-  Slides.update({
+  let newSlide = Slides.findOne({
     presentationId: presentationId,
     'slide.id': newSlideId,
-  }, {
+  });
+
+  // first update the new slide as current and update its ratios/offsets
+  Slides.update(newSlide._id, {
     $set: {
       'slide.current': true,
       'slide.height_ratio': slideObject.height_ratio,
@@ -28,4 +25,11 @@ export function displayThisSlide(meetingId, newSlideId, slideObject) {
       'slide.y_offset': slideObject.y_offset,
     },
   });
+
+  // change current to false for the old slide after update the new one
+  Slides.update(currentSlide._id, {
+    $set: {
+      'slide.current': false,
+    },
+  });
 };