diff --git a/Core/HLE/sceKernelThread.cpp b/Core/HLE/sceKernelThread.cpp index b57ed41ad1..4ded54568c 100644 --- a/Core/HLE/sceKernelThread.cpp +++ b/Core/HLE/sceKernelThread.cpp @@ -2276,6 +2276,12 @@ int sceKernelChangeThreadPriority(SceUID threadID, int priority) Thread *thread = kernelObjects.Get(threadID, error); if (thread) { + if (thread->isStopped()) + { + ERROR_LOG_REPORT(HLE, "sceKernelChangeThreadPriority(%i, %i): thread is dormant", threadID, priority); + return SCE_KERNEL_ERROR_DORMANT; + } + if (priority < 0x08 || priority > 0x77) { ERROR_LOG_REPORT(HLE, "sceKernelChangeThreadPriority(%i, %i): bogus priority", threadID, priority);