diff --git a/reactos/ntoskrnl/ke/i386/traphdlr.c b/reactos/ntoskrnl/ke/i386/traphdlr.c index e761cd0d82a..70fe0cd80dc 100644 --- a/reactos/ntoskrnl/ke/i386/traphdlr.c +++ b/reactos/ntoskrnl/ke/i386/traphdlr.c @@ -129,6 +129,9 @@ KiEoiHelper(IN PKTRAP_FRAME TrapFrame) /* Check for edited frame */ if (KiIsFrameEdited(TrapFrame)) KiEditedTrapReturn(TrapFrame); + /* Check if we have single stepping enabled */ + if (TrapFrame->EFlags & EFLAGS_TF) KiTrapReturnNoSegments(TrapFrame); + /* Exit the trap to kernel mode */ KiTrapReturnNoSegmentsRet8(TrapFrame); } @@ -191,6 +194,9 @@ KiServiceExit2(IN PKTRAP_FRAME TrapFrame) /* Check for edited frame */ if (KiIsFrameEdited(TrapFrame)) KiEditedTrapReturn(TrapFrame); + /* Check if we have single stepping enabled */ + if (TrapFrame->EFlags & EFLAGS_TF) KiTrapReturnNoSegments(TrapFrame); + /* Exit the trap to kernel mode */ KiTrapReturnNoSegmentsRet8(TrapFrame); }