diff --git a/src/thingdef/thingdef_codeptr.cpp b/src/thingdef/thingdef_codeptr.cpp index ba5bc7f47d..a3e4ac6fa6 100644 --- a/src/thingdef/thingdef_codeptr.cpp +++ b/src/thingdef/thingdef_codeptr.cpp @@ -676,7 +676,7 @@ static void DoJump(AActor *self, AActor *stateowner, FState *callingstate, FStat { P_SetPsprite(self->player, ps_flash, jumpto); } - else if (callingstate == self->state) + else if (callingstate == self->state || (self->ObjectFlags & OF_StateChanged)) { // Rather than using self->SetState(jumpto) to set the state, // set the state directly. Since this function is only called by