diff --git a/src/react-components/ui-root.js b/src/react-components/ui-root.js
index 4ad6b1a08c1368264b4d744f27699a32874134a5..b51649860ab10a992e516311a1022b633eba0480 100644
--- a/src/react-components/ui-root.js
+++ b/src/react-components/ui-root.js
@@ -414,10 +414,19 @@ class UIRoot extends Component {
     this.setState({ entryStep: ENTRY_STEPS.audio_setup });
   };
 
-  fetchMicDevices = async () => {
-    const mediaDevices = await navigator.mediaDevices.enumerateDevices();
-    this.setState({
-      micDevices: mediaDevices.filter(d => d.kind === "audioinput").map(d => ({ deviceId: d.deviceId, label: d.label }))
+  fetchMicDevices = () => {
+    return new Promise(resolve => {
+      navigator.mediaDevices.enumerateDevices().then(mediaDevices => {
+        console.log(resolve);
+        this.setState(
+          {
+            micDevices: mediaDevices
+              .filter(d => d.kind === "audioinput")
+              .map(d => ({ deviceId: d.deviceId, label: d.label }))
+          },
+          resolve
+        );
+      });
     });
   };