diff --git a/Userland/Libraries/LibWeb/HTML/VideoTrack.cpp b/Userland/Libraries/LibWeb/HTML/VideoTrack.cpp
index a80d2ab892..7686d1469a 100644
--- a/Userland/Libraries/LibWeb/HTML/VideoTrack.cpp
+++ b/Userland/Libraries/LibWeb/HTML/VideoTrack.cpp
@@ -37,9 +37,17 @@ VideoTrack::VideoTrack(JS::Realm& realm, JS::NonnullGCPtr medi
m_media_element->set_current_playback_position(playback_position_ms / 1000.0);
};
- m_playback_manager->on_end_of_stream = [this]() {
- auto playback_position_ms = static_cast(duration().to_milliseconds());
- m_media_element->set_current_playback_position(playback_position_ms / 1000.0);
+ m_playback_manager->on_playback_state_change = [this]() {
+ switch (m_playback_manager->get_state()) {
+ case Video::PlaybackState::Stopped: {
+ auto playback_position_ms = static_cast(duration().to_milliseconds());
+ m_media_element->set_current_playback_position(playback_position_ms / 1000.0);
+ break;
+ }
+
+ default:
+ break;
+ }
};
m_playback_manager->on_decoder_error = [](auto) {