diff --git a/servers/rendering/rendering_server_default.cpp b/servers/rendering/rendering_server_default.cpp index 09c532aa0bc..620abd0eea3 100644 --- a/servers/rendering/rendering_server_default.cpp +++ b/servers/rendering/rendering_server_default.cpp @@ -376,8 +376,12 @@ Size2i RenderingServerDefault::get_maximum_viewport_size() const { void RenderingServerDefault::_assign_mt_ids(WorkerThreadPool::TaskID p_pump_task_id) { server_thread = Thread::get_caller_id(); server_task_id = p_pump_task_id; - // This is needed because the main RD is created on the main thread. - RenderingDevice::get_singleton()->make_current(); + + RenderingDevice *rd = RenderingDevice::get_singleton(); + if (rd) { + // This is needed because the main RD is created on the main thread. + rd->make_current(); + } } void RenderingServerDefault::_thread_exit() {