diff --git a/bigbluebutton-html5/imports/ui/components/audio/container.jsx b/bigbluebutton-html5/imports/ui/components/audio/container.jsx
index c613721441c78adb8212c5a28162f884fbdda2cc..7732ca82ec8689d0bed5fc860dcc33310e6b85d5 100755
--- a/bigbluebutton-html5/imports/ui/components/audio/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/audio/container.jsx
@@ -1,4 +1,4 @@
-import React from 'react';
+import React, { PureComponent } from 'react';
 import { withTracker } from 'meteor/react-meteor-data';
 import { Session } from 'meteor/session';
 import { withModalMounter } from '/imports/ui/components/modal/service';
@@ -59,8 +59,7 @@ const intlMessages = defineMessages({
   },
 });
 
-
-class AudioContainer extends React.Component {
+class AudioContainer extends PureComponent {
   constructor(props) {
     super(props);
 
@@ -139,10 +138,15 @@ export default lockContextContainer(withModalMounter(injectIntl(withTracker(({ m
     init: () => {
       Service.init(messages, intl);
       Service.changeOutputDevice(document.querySelector('#remote-media').sinkId);
-      if (!autoJoin || didMountAutoJoin) return;
-      Session.set('audioModalIsOpen', true);
       const enableVideo = getFromUserSettings('enableVideo', KURENTO_CONFIG.enableVideo);
       const autoShareWebcam = getFromUserSettings('autoShareWebcam', KURENTO_CONFIG.autoShareWebcam);
+      if (!autoJoin || didMountAutoJoin) {
+        if (enableVideo && autoShareWebcam) {
+          openVideoPreviewModal();
+        }
+        return;
+      }
+      Session.set('audioModalIsOpen', true);
       if (enableVideo && autoShareWebcam) {
         openAudioModal().then(() => { openVideoPreviewModal(); didMountAutoJoin = true; });
       } else {