diff --git a/bigbluebutton-html5/imports/ui/components/audio/service.js b/bigbluebutton-html5/imports/ui/components/audio/service.js
index c70a5e910dc30f317c874bc1d3afeeee09e7d33c..38cd9812f58bdb46be72dbeba3c6888451dfcac4 100755
--- a/bigbluebutton-html5/imports/ui/components/audio/service.js
+++ b/bigbluebutton-html5/imports/ui/components/audio/service.js
@@ -38,20 +38,22 @@ const init = (messages, intl) => {
 const currentUser = () => mapUser(Users.findOne({ intId: Auth.userID }));
 
 const toggleMuteMicrophone = () => {
-  makeCall('toggleSelfVoice');
-  const cvu = VoiceUsers.findOne({ meetingId: Auth.meetingID, intId: Auth.userID });
-  if (cvu) {
-    if (cvu.muted) {
-      logger.info({
-        logCode: 'audiomanager_unmute_audio',
-        extraInfo: { logType: 'user_action' },
-      }, 'microphone unmuted by user');
-    } else {
-      logger.info({
-        logCode: 'audiomanager_mute_audio',
-        extraInfo: { logType: 'user_action' },
-      }, 'microphone muted by user');
-    }
+  const userIsMuted = VoiceUsers.findOne({
+    meetingId: Auth.meetingID, intId: Auth.userID,
+  }, { fields: { muted: 1 } });
+
+  if (userIsMuted) {
+    logger.info({
+      logCode: 'audiomanager_unmute_audio',
+      extraInfo: { logType: 'user_action' },
+    }, 'microphone unmuted by user');
+    makeCall('toggleSelfVoice');
+  } else {
+    logger.info({
+      logCode: 'audiomanager_mute_audio',
+      extraInfo: { logType: 'user_action' },
+    }, 'microphone muted by user');
+    makeCall('toggleSelfVoice');
   }
 };
 
diff --git a/bigbluebutton-html5/imports/ui/components/breakout-join-confirmation/component.jsx b/bigbluebutton-html5/imports/ui/components/breakout-join-confirmation/component.jsx
index faaa783a87501a91d7dc9c6c6e9d8ef8a0128afc..b61a86e630b592ebc186896f7993fc390ffb57e3 100755
--- a/bigbluebutton-html5/imports/ui/components/breakout-join-confirmation/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/breakout-join-confirmation/component.jsx
@@ -46,7 +46,7 @@ const propTypes = {
   mountModal: PropTypes.func.isRequired,
   breakoutURL: PropTypes.string.isRequired,
   isFreeJoin: PropTypes.bool.isRequired,
-  currentVoiceUser: PropTypes.objectOf(Object).isRequired,
+  voiceUserJoined: PropTypes.bool.isRequired,
   requestJoinURL: PropTypes.func.isRequired,
   breakouts: PropTypes.arrayOf(Object).isRequired,
   breakoutName: PropTypes.string.isRequired,
@@ -71,13 +71,13 @@ class BreakoutJoinConfirmation extends Component {
       mountModal,
       breakoutURL,
       isFreeJoin,
-      currentVoiceUser,
+      voiceUserJoined,
     } = this.props;
 
     const { selectValue } = this.state;
     const url = isFreeJoin ? getURL(selectValue) : breakoutURL;
 
-    if (currentVoiceUser && currentVoiceUser.joined) {
+    if (voiceUserJoined) {
       // leave main room's audio when joining a breakout room
       AudioService.exitAudio();
       logger.info({
diff --git a/bigbluebutton-html5/imports/ui/components/breakout-join-confirmation/container.jsx b/bigbluebutton-html5/imports/ui/components/breakout-join-confirmation/container.jsx
index 56473f9bfe62c0aa0ba75f3e40ad525c297b4309..78112e1b66ce46467fecb8d61b835aee0fce3837 100755
--- a/bigbluebutton-html5/imports/ui/components/breakout-join-confirmation/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/breakout-join-confirmation/container.jsx
@@ -2,9 +2,9 @@ import React from 'react';
 import { withTracker } from 'meteor/react-meteor-data';
 import Breakouts from '/imports/api/breakouts';
 import Auth from '/imports/ui/services/auth';
-import VoiceUsers from '/imports/api/voice-users/';
 import { makeCall } from '/imports/ui/services/api';
 import breakoutService from '/imports/ui/components/breakout-room/service';
+import AudioManager from '/imports/ui/services/audio-manager';
 import BreakoutJoinConfirmationComponent from './component';
 
 const BreakoutJoinConfirmationContrainer = props => (
@@ -35,8 +35,6 @@ export default withTracker(({ breakout, mountModal, breakoutName }) => {
     requestJoinURL(breakoutId);
   }
 
-  const currentVoiceUser = VoiceUsers.findOne({ meetingId: Auth.meetingID, intId: Auth.userID });
-
   return {
     isFreeJoin,
     mountModal,
@@ -45,6 +43,6 @@ export default withTracker(({ breakout, mountModal, breakoutName }) => {
     breakouts: breakoutService.getBreakouts(),
     requestJoinURL,
     getURL,
-    currentVoiceUser,
+    voiceUserJoined: AudioManager.isUsingAudio(),
   };
 })(BreakoutJoinConfirmationContrainer);