diff --git a/bigbluebutton-html5/imports/ui/components/external-video-player/component.jsx b/bigbluebutton-html5/imports/ui/components/external-video-player/component.jsx
index 5c7f21fb5df636bb4afc40e7773afd90979ac122..af0f39a0e960499e2eeb077f58b6813f06495d2f 100644
--- a/bigbluebutton-html5/imports/ui/components/external-video-player/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/external-video-player/component.jsx
@@ -68,6 +68,15 @@ class VideoPlayer extends Component {
     this.player = null;
   }
 
+  componentDidUpdate(prevProp, prevState) {
+    // Detect presenter change and redo the sync and listeners to reassign video to the new one
+    if (this.props.isPresenter !== prevProp.isPresenter) {
+      this.clearVideoListeners();
+      clearInterval(this.syncInterval);
+      this.registerVideoListeners();
+    }
+  }
+
   static getDerivedStateFromProps(props) {
     const { inEchoTest } = props;