diff --git a/bigbluebutton-html5/imports/api/presentations/server/methods/setPresentation.js b/bigbluebutton-html5/imports/api/presentations/server/methods/setPresentation.js
index f481a5361343e0e83bcb0a19c237fbd14a6c8ab5..164370e313c4760d713d246a1395049f8b548456 100644
--- a/bigbluebutton-html5/imports/api/presentations/server/methods/setPresentation.js
+++ b/bigbluebutton-html5/imports/api/presentations/server/methods/setPresentation.js
@@ -18,17 +18,22 @@ export default function setPresentation(credentials, presentationId, podId) {
     meetingId,
     id: presentationId,
     podId,
-    current: true,
   });
 
-  if (currentPresentation && currentPresentation.id === presentationId) {
-    return Promise.resolve();
-  }
+  if (currentPresentation) {
+    if (currentPresentation.current) {
+      return Promise.resolve();
+    }
 
-  const payload = {
-    presentationId,
-    podId,
-  };
+    const payload = {
+      presentationId,
+      podId,
+    };
+
+    return RedisPubSub.publishUserMessage(CHANNEL, EVENT_NAME, meetingId, requesterUserId, payload);
+  }
 
-  return RedisPubSub.publishUserMessage(CHANNEL, EVENT_NAME, meetingId, requesterUserId, payload);
+  // did not find presentation with such id. abandon
+  // return Promise.resolve(); // will close the uploading modal
+  throw new Meteor.Error('presentation-not-found', `Did not find a presentation with id ${presentationId} in method setPresentation`);
 }