diff --git a/dom/html/HTMLMediaElement.cpp b/dom/html/HTMLMediaElement.cpp
index 02c65e238c70..61d50cd03238 100644
--- a/dom/html/HTMLMediaElement.cpp
+++ b/dom/html/HTMLMediaElement.cpp
@@ -6431,9 +6431,10 @@ void HTMLMediaElement::SuspendOrResumeElement(bool aSuspendElement) {
!AutoplayPolicy::IsAllowedToPlay(*this)) {
MaybeNotifyAutoplayBlocked();
}
- if (mMediaControlEventListener) {
- MOZ_ASSERT(!mMediaControlEventListener->IsStarted(),
- "We didn't stop listening event when we were in bfcache?");
+ // If we stopped listening to the event when we suspended media element,
+ // then we should restart to listen to the event if we haven't done so yet.
+ if (mMediaControlEventListener &&
+ !mMediaControlEventListener->IsStarted()) {
StartListeningMediaControlEventIfNeeded();
}
}