diff --git a/src/core/hle/service/plgldr/plgldr.cpp b/src/core/hle/service/plgldr/plgldr.cpp index ad22b98cf..e46022815 100644 --- a/src/core/hle/service/plgldr/plgldr.cpp +++ b/src/core/hle/service/plgldr/plgldr.cpp @@ -288,10 +288,12 @@ void PLG_LDR::GetPluginPath(Kernel::HLERequestContext& ctx) { } std::shared_ptr GetService(Core::System& system) { - if (!system.IsPoweredOn()) { + if (!system.KernelRunning()) return nullptr; - } - return system.ServiceManager().GetService("plg:ldr"); + auto it = system.Kernel().named_ports.find("plg:ldr"); + if (it != system.Kernel().named_ports.end()) + return std::static_pointer_cast(it->second->GetServerPort()->hle_handler); + return nullptr; } void InstallInterfaces(Core::System& system) {