diff --git a/reactos/lib/fast486/fast486.c b/reactos/lib/fast486/fast486.c index 7725c9b8d83..9df60e5c462 100644 --- a/reactos/lib/fast486/fast486.c +++ b/reactos/lib/fast486/fast486.c @@ -85,11 +85,8 @@ NextInst: * Check if there is an interrupt to execute, or a hardware interrupt signal * while interrupts are enabled. */ - if (State->Flags.Tf) + if (State->Flags.Tf && !State->Halted) { - /* No longer halted */ - State->Halted = FALSE; - /* Perform the interrupt */ Fast486PerformInterrupt(State, 0x01); @@ -104,6 +101,9 @@ NextInst: } else if (State->IntStatus == FAST486_INT_EXECUTE) { + /* No longer halted */ + State->Halted = FALSE; + /* Perform the interrupt */ Fast486PerformInterrupt(State, State->PendingIntNum);