diff --git a/Core/HLE/sceKernelModule.cpp b/Core/HLE/sceKernelModule.cpp index 59daa30d4d..76c7405c98 100644 --- a/Core/HLE/sceKernelModule.cpp +++ b/Core/HLE/sceKernelModule.cpp @@ -697,9 +697,12 @@ bool __KernelLoadExec(const char *filename, SceKernelLoadExecParam *param, std:: Module *module = __KernelLoadModule(temp, 0, error_string); - if (!module) { + if (!module || module->isFake) + { + if (module) + kernelObjects.Destroy(module->GetUID()); ERROR_LOG(LOADER, "Failed to load module %s", filename); - *error_string = "Failed to load executable module"; + *error_string = "Failed to load executable: " + *error_string; delete [] temp; return false; }