diff --git a/Core/HLE/sceKernelEventFlag.cpp b/Core/HLE/sceKernelEventFlag.cpp index 4d28a4c057..1e8a41ed97 100644 --- a/Core/HLE/sceKernelEventFlag.cpp +++ b/Core/HLE/sceKernelEventFlag.cpp @@ -390,6 +390,9 @@ int sceKernelWaitEventFlag(SceUID id, u32 bits, u32 wait, u32 outBitsPtr, u32 ti if (bits == 0) return SCE_KERNEL_ERROR_EVF_ILPAT; + if (!__KernelIsDispatchEnabled()) + return SCE_KERNEL_ERROR_CAN_NOT_WAIT; + u32 error; EventFlag *e = kernelObjects.Get(id, error); if (e) @@ -443,6 +446,9 @@ int sceKernelWaitEventFlagCB(SceUID id, u32 bits, u32 wait, u32 outBitsPtr, u32 if (bits == 0) return SCE_KERNEL_ERROR_EVF_ILPAT; + if (!__KernelIsDispatchEnabled()) + return SCE_KERNEL_ERROR_CAN_NOT_WAIT; + u32 error; EventFlag *e = kernelObjects.Get(id, error); if (e)