diff --git a/src/p_mobj.c b/src/p_mobj.c
index b377ff82f4a57bb253857b284f50b49893a373f8..fb9e7d78ef7174bde7bb71901a7da9f034b6eb35 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -90,7 +90,7 @@ static void P_SetupStateAnimation(mobj_t *mobj, state_t *st)
 	if (mobj->sprite == SPR_PLAY && mobj->skin)
 	{
 		spritedef_t *spritedef = P_GetSkinSpritedef(mobj->skin, mobj->sprite2);
-		animlength = (INT32)(spritedef->numframes);
+		animlength = (INT32)(spritedef->numframes) - 1;
 	}
 	else
 		animlength = st->var1;