diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs
index e89389fd253..29f55999f7f 100644
--- a/components/script/dom/htmlmediaelement.rs
+++ b/components/script/dom/htmlmediaelement.rs
@@ -1611,17 +1611,19 @@ impl HTMLMediaElementMethods for HTMLMediaElement {
if self.muted.get() == value {
return;
}
+
if let Some(ref player) = *self.player.borrow() {
- self.muted.set(value);
let _ = player.set_mute(value);
- let window = window_from_node(self);
- window
- .task_manager()
- .media_element_task_source()
- .queue_simple_event(self.upcast(), atom!("volumechange"), &window);
- if !self.is_allowed_to_play() {
- self.internal_pause_steps();
- }
+ }
+
+ self.muted.set(value);
+ let window = window_from_node(self);
+ window
+ .task_manager()
+ .media_element_task_source()
+ .queue_simple_event(self.upcast(), atom!("volumechange"), &window);
+ if !self.is_allowed_to_play() {
+ self.internal_pause_steps();
}
}