diff --git a/src/wp-includes/js/wp-oembed-embed.js b/src/wp-includes/js/wp-oembed-embed.js
index 847ebcf..bc40479 100644
--- a/src/wp-includes/js/wp-oembed-embed.js
+++ b/src/wp-includes/js/wp-oembed-embed.js
@@ -13,6 +13,8 @@
 	}
 
 	function onLoad() {
+		window.removeEventListener( 'load', onLoad, false );
+
 		var share_dialog = document.querySelector( '.wp-embed-share-dialog' ),
 			share_dialog_open = document.querySelector( '.wp-embed-share-dialog-open' ),
 			share_dialog_close = document.querySelector( '.wp-embed-share-dialog-close' ),
@@ -141,8 +143,6 @@
 		}
 	}
 
-	document.addEventListener( 'DOMContentLoaded', onLoad, false );
-
 	/**
 	 * Iframe resize handler.
 	 */
@@ -158,5 +158,20 @@
 		}, 100 );
 	}
 
-	window.addEventListener( 'resize', onResize, false );
+	/**
+	 * Ensure required features exist.
+	 */
+	function featurePass() {
+		if ( ( 'addEventListener' in window ) &&
+			 ( 'querySelector'    in document ) ) {
+				return true;
+		}
+		return false;
+	}
+
+	if ( featurePass() ) {
+		document.addEventListener( 'DOMContentLoaded', onLoad, false );
+		window.addEventListener( 'load', onLoad, false );
+		window.addEventListener( 'resize', onResize, false );
+	}
 })( window, document );
diff --git a/src/wp-includes/js/wp-oembed.js b/src/wp-includes/js/wp-oembed.js
index dd03bc0..bef8db9 100644
--- a/src/wp-includes/js/wp-oembed.js
+++ b/src/wp-includes/js/wp-oembed.js
@@ -44,9 +44,9 @@
 		}
 	};
 
-	window.addEventListener( 'message', window.wp.receiveEmbedMessage, false );
-
 	function onLoad() {
+		window.removeEventListener( 'load', onLoad, false );
+
 		var isIE10 = -1 !== navigator.appVersion.indexOf( 'MSIE 10' ),
 			isIE11 = !!navigator.userAgent.match( /Trident.*rv\:11\./ );
 
@@ -63,5 +63,20 @@
 		}
 	}
 
-	document.addEventListener( 'DOMContentLoaded', onLoad, false );
+	/**
+	 * Ensure required features exist.
+	 */
+	function featurePass() {
+		if ( ( 'addEventListener' in window ) &&
+			 ( 'querySelector'    in document ) ) {
+				return true;
+		}
+		return false;
+	}
+
+	if ( featurePass() ) {
+		document.addEventListener( 'DOMContentLoaded', onLoad, false );
+		window.addEventListener( 'load', onLoad, false );
+		window.addEventListener( 'message', window.wp.receiveEmbedMessage, false );
+	}
 })( window, document );
