diff --git a/bigbluebutton-client/resources/prod/lib/kurento-extension.js b/bigbluebutton-client/resources/prod/lib/kurento-extension.js
index 9f48f5710b5e8464d70f25c0635125a1015a07a6..f52b06bc249bd6b08455f74818e88f36ca07f7d6 100755
--- a/bigbluebutton-client/resources/prod/lib/kurento-extension.js
+++ b/bigbluebutton-client/resources/prod/lib/kurento-extension.js
@@ -3,7 +3,7 @@ const isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
 const isChrome = !!window.chrome && !isOpera;
 const isSafari = navigator.userAgent.indexOf('Safari') >= 0 && !isChrome;
 const hasDisplayMedia = (typeof navigator.getDisplayMedia === 'function'
-  || typeof navigator.mediaDevices.getDisplayMedia === 'function');
+  || (navigator.mediaDevices && typeof navigator.mediaDevices.getDisplayMedia === 'function'));
 const kurentoHandler = null;
 const SEND_ROLE = "send";
 const RECV_ROLE = "recv";
diff --git a/bigbluebutton-client/resources/prod/lib/kurento-utils.js b/bigbluebutton-client/resources/prod/lib/kurento-utils.js
index 2a8bfab960387681317951b9428c19110d407a8a..22d8087010b9bef36f97f5da546941b078f42c91 100644
--- a/bigbluebutton-client/resources/prod/lib/kurento-utils.js
+++ b/bigbluebutton-client/resources/prod/lib/kurento-utils.js
@@ -424,7 +424,7 @@ function WebRtcPeer(mode, options, callback) {
                     navigator.getDisplayMedia(recursive.apply(undefined, constraints))
                         .then(gDMCallback)
                         .catch(callback);
-                } else if (typeof navigator.mediaDevices.getDisplayMedia === 'function') {
+                } else if (navigator.mediaDevices && typeof navigator.mediaDevices.getDisplayMedia === 'function') {
                     navigator.mediaDevices.getDisplayMedia(recursive.apply(undefined, constraints))
                         .then(gDMCallback)
                         .catch(callback);
diff --git a/bigbluebutton-html5/client/compatibility/kurento-extension.js b/bigbluebutton-html5/client/compatibility/kurento-extension.js
index 0a181e56cfe3e370016420300b12f28d67ccf32d..8c167fbb790681baabf7e0bdc3eade81cd808501 100644
--- a/bigbluebutton-html5/client/compatibility/kurento-extension.js
+++ b/bigbluebutton-html5/client/compatibility/kurento-extension.js
@@ -4,7 +4,7 @@ const isChrome = !!window.chrome && !isOpera;
 const isSafari = navigator.userAgent.indexOf('Safari') >= 0 && !isChrome;
 const isElectron = navigator.userAgent.toLowerCase().indexOf(' electron/') > -1;
 const hasDisplayMedia = (typeof navigator.getDisplayMedia === 'function'
-  || typeof navigator.mediaDevices.getDisplayMedia === 'function');
+  || (navigator.mediaDevices && typeof navigator.mediaDevices.getDisplayMedia === 'function'));
 const kurentoHandler = null;
 
 Kurento = function (
diff --git a/bigbluebutton-html5/client/compatibility/kurento-utils.js b/bigbluebutton-html5/client/compatibility/kurento-utils.js
index 7e118d2d9d17b6a9a30dedc7a6251e75c0f3c40d..bf621aff2c463c0da73f64af7dcc9a8c94b19752 100644
--- a/bigbluebutton-html5/client/compatibility/kurento-utils.js
+++ b/bigbluebutton-html5/client/compatibility/kurento-utils.js
@@ -475,7 +475,7 @@ function WebRtcPeer(mode, options, callback) {
                     navigator.getDisplayMedia(recursive.apply(undefined, constraints))
                         .then(gDMCallback)
                         .catch(callback);
-                } else if (typeof navigator.mediaDevices.getDisplayMedia === 'function') {
+                } else if (navigator.mediaDevices && typeof navigator.mediaDevices.getDisplayMedia === 'function') {
                     navigator.mediaDevices.getDisplayMedia(recursive.apply(undefined, constraints))
                         .then(gDMCallback)
                         .catch(callback);