diff --git a/Userland/Libraries/LibWeb/HTML/TraversableNavigable.cpp b/Userland/Libraries/LibWeb/HTML/TraversableNavigable.cpp
index 480bda68575..2d1f7035616 100644
--- a/Userland/Libraries/LibWeb/HTML/TraversableNavigable.cpp
+++ b/Userland/Libraries/LibWeb/HTML/TraversableNavigable.cpp
@@ -29,8 +29,11 @@ TraversableNavigable::TraversableNavigable(JS::NonnullGCPtr page)
, m_session_history_traversal_queue(vm().heap().allocate_without_realm())
{
#ifdef AK_OS_MACOS
- m_metal_context = Core::get_metal_context();
- m_skia_backend_context = Painting::DisplayListPlayerSkia::create_metal_context(*m_metal_context);
+ auto display_list_player_type = page->client().display_list_player_type();
+ if (display_list_player_type == DisplayListPlayerType::Skia) {
+ m_metal_context = Core::get_metal_context();
+ m_skia_backend_context = Painting::DisplayListPlayerSkia::create_metal_context(*m_metal_context);
+ }
#endif
}