diff --git a/Core/HLE/sceKernelModule.cpp b/Core/HLE/sceKernelModule.cpp index 6b6bf7a3c2..1346aab6b2 100644 --- a/Core/HLE/sceKernelModule.cpp +++ b/Core/HLE/sceKernelModule.cpp @@ -1485,10 +1485,18 @@ u32 sceKernelLoadModule(const char *name, u32 flags, u32 optionAddr) return -1; } - // Module was blacklisted or couldn't be decrypted, which means it's a kernel module. - // Let's just act as if it worked. - NOTICE_LOG(LOADER, "Module %s is blacklisted or undecryptable - we try __KernelLoadExec", name); - return __KernelLoadExec(name, 0, &error_string); + if (info.name == "BOOT.BIN") + { + NOTICE_LOG(LOADER, "Module %s is blacklisted or undecryptable - we try __KernelLoadExec", name) + return __KernelLoadExec(name, 0, &error_string); + } + else + { + // Module was blacklisted or couldn't be decrypted, which means it's a kernel module we don't want to run.. + // Let's just act as if it worked. + NOTICE_LOG(LOADER, "Module %s is blacklisted or undecryptable - we lie about success", name) + return 1; + } } if (lmoption) {