diff --git a/reactos/ntoskrnl/mm/i386/pfault.c b/reactos/ntoskrnl/mm/i386/pfault.c index ee32c2b6897..066165b1d86 100644 --- a/reactos/ntoskrnl/mm/i386/pfault.c +++ b/reactos/ntoskrnl/mm/i386/pfault.c @@ -62,14 +62,12 @@ NTSTATUS MmPageFault(ULONG Cs, Status = MmNotPresentFault(Mode, Cr2, FALSE); } - if (KeGetCurrentThread() != NULL && - KeGetCurrentThread()->Alerted[UserMode] != 0 && - Cs != KERNEL_CS) + if (Mode == UserMode && KeGetCurrentThread()->ApcState.UserApcPending) { KIRQL oldIrql; KeRaiseIrql(APC_LEVEL, &oldIrql); - KiDeliverApc(KernelMode, NULL, NULL); + KiDeliverApc(UserMode, NULL, NULL); KeLowerIrql(oldIrql); }