diff --git a/src/webrtc/call.js b/src/webrtc/call.js
index 9b82ca3f6f0cbfdc643a2c74be9c1627ac0fd0a6..71166f6521d06da6e5259209f3434a10d5ebf401 100644
--- a/src/webrtc/call.js
+++ b/src/webrtc/call.js
@@ -600,7 +600,7 @@ MatrixCall.prototype._maybeGotUserMediaForInvite = function(stream) {
             'OfferToReceiveVideo': self.type === 'video',
         },
     };
-    if (stream instanceof MediaStream) {
+    if (stream instanceof this.webRtc.MediaStream) {
         const videoEl = this.getLocalVideoElement();
 
         if (videoEl && this.type == 'video') {
@@ -661,7 +661,7 @@ MatrixCall.prototype._maybeGotUserMediaForAnswer = function(stream) {
     }
 
     const error = stream;
-    if (stream instanceof MediaStream) {
+    if (stream instanceof this.webRtc.MediaStream) {
         const localVidEl = self.getLocalVideoElement();
 
         if (localVidEl && self.type == 'video') {
@@ -1362,6 +1362,9 @@ module.exports.createNewMatrixCall = function(client, roomId, options) {
     webRtc.RtcIceCandidate = (
         w.RTCIceCandidate || w.webkitRTCIceCandidate || w.mozRTCIceCandidate
     );
+    webRtc.MediaStream = (
+        w.MediaStream || w.webkitMediaStream
+    );
     webRtc.vendor = null;
     if (w.mozRTCPeerConnection) {
         webRtc.vendor = "mozilla";