diff --git a/content/html/content/crashtests/605264.html b/content/html/content/crashtests/605264.html
new file mode 100644
index 00000000000..3c1db3578c2
--- /dev/null
+++ b/content/html/content/crashtests/605264.html
@@ -0,0 +1,8 @@
+
+
diff --git a/content/html/content/crashtests/crashtests.list b/content/html/content/crashtests/crashtests.list
index 660218d61b2..f9f41d3971d 100644
--- a/content/html/content/crashtests/crashtests.list
+++ b/content/html/content/crashtests/crashtests.list
@@ -21,6 +21,7 @@ load 590387.html
load 596785-1.html
load 596785-2.html
load 604807.html
+load 605264.html
load 606430-1.html
load 602117.html
load 613027.html
diff --git a/content/html/content/src/nsHTMLMediaElement.cpp b/content/html/content/src/nsHTMLMediaElement.cpp
index 59727b6bd1f..c335d35b9f3 100644
--- a/content/html/content/src/nsHTMLMediaElement.cpp
+++ b/content/html/content/src/nsHTMLMediaElement.cpp
@@ -2397,6 +2397,8 @@ void nsHTMLMediaElement::DoRemoveSelfReference()
nsresult nsHTMLMediaElement::Observe(nsISupports* aSubject,
const char* aTopic, const PRUnichar* aData)
{
+ NS_ENSURE_TRUE(nsContentUtils::IsCallerChrome(), NS_ERROR_NOT_AVAILABLE);
+
if (strcmp(aTopic, NS_XPCOM_SHUTDOWN_OBSERVER_ID) == 0) {
mShuttingDown = PR_TRUE;
AddRemoveSelfReference();