diff --git a/src/p_mobj.c b/src/p_mobj.c
index 60a4e9e638799d20e120c21ae3b5e4a91683cf84..a0ac38f5c4cce84f29059c96924bfe22d6d4d353 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -4258,7 +4258,7 @@ static void P_GenericBossThinker(mobj_t *mobj)
 // AI for the first boss.
 static void P_Boss1Thinker(mobj_t *mobj)
 {
-	if (mobj->flags2 & MF2_FRET && (statenum_t)(mobj->state-states) < mobj->info->painstate) {
+	if (mobj->flags2 & MF2_FRET && mobj->state->nextstate == mobj->info->spawnstate && mobj->tics == 1) {
 		mobj->flags2 &= ~(MF2_FRET|MF2_SKULLFLY);
 		mobj->momx = mobj->momy = mobj->momz = 0;
 	}