diff --git a/src/info.c b/src/info.c
index 95bb38ac6d7bc118434e8a1fdc12ea4029b36344..3b7f79e4bcc6898544263afd0bc5419e3cd964fa 100644
--- a/src/info.c
+++ b/src/info.c
@@ -689,12 +689,12 @@ static const state_t startstates[] =
 	{"PLAY_MELEE_LANDING", 0, SPR_PLAY, SPR2_MLEL,                35, {NULL},                   0, 0, S_PLAY_WALK, 0},
 
 	// SF_SUPER
-	{"PLAY_SUPER_TRANS1", 0, SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_ANIMATE,     7, {NULL},          0, 4, S_PLAY_SUPER_TRANS2, 0},
-	{"PLAY_SUPER_TRANS2", 0, SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER,                3, {NULL},          0, 0, S_PLAY_SUPER_TRANS3, 0},
-	{"PLAY_SUPER_TRANS3", 0, SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_FULLBRIGHT,  2, {NULL},          0, 0, S_PLAY_SUPER_TRANS4, 0},
-	{"PLAY_SUPER_TRANS4", 0, SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_FULLBRIGHT,  2, {NULL},          0, 0, S_PLAY_SUPER_TRANS5, 0},
-	{"PLAY_SUPER_TRANS5", 0, SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_FULLBRIGHT,  2, {NULL},          0, 0, S_PLAY_SUPER_TRANS6, 0},
-	{"PLAY_SUPER_TRANS6", 0, SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_FULLBRIGHT, 19, {A_FadeOverlay}, 0, 0, S_PLAY_FALL, 0},
+	{"PLAY_SUPER_TRANS1", 0, SPR_PLAY, SPR2_TRNS|SPR2F_SUPER|FF_ANIMATE,     7, {NULL},          0, 4, S_PLAY_SUPER_TRANS2, 0},
+	{"PLAY_SUPER_TRANS2", 0, SPR_PLAY, SPR2_TRNS|SPR2F_SUPER,                3, {NULL},          0, 0, S_PLAY_SUPER_TRANS3, 0},
+	{"PLAY_SUPER_TRANS3", 0, SPR_PLAY, SPR2_TRNS|SPR2F_SUPER|FF_FULLBRIGHT,  2, {NULL},          0, 0, S_PLAY_SUPER_TRANS4, 0},
+	{"PLAY_SUPER_TRANS4", 0, SPR_PLAY, SPR2_TRNS|SPR2F_SUPER|FF_FULLBRIGHT,  2, {NULL},          0, 0, S_PLAY_SUPER_TRANS5, 0},
+	{"PLAY_SUPER_TRANS5", 0, SPR_PLAY, SPR2_TRNS|SPR2F_SUPER|FF_FULLBRIGHT,  2, {NULL},          0, 0, S_PLAY_SUPER_TRANS6, 0},
+	{"PLAY_SUPER_TRANS6", 0, SPR_PLAY, SPR2_TRNS|SPR2F_SUPER|FF_FULLBRIGHT, 19, {A_FadeOverlay}, 0, 0, S_PLAY_FALL, 0},
 
 	{"OBJPLACE_DUMMY", 0, SPR_NULL, 0, -1, {NULL}, 0, 0, S_OBJPLACE_DUMMY, 0},
 
diff --git a/src/p_pspr.h b/src/p_pspr.h
index ce7487f61e398d1f0aaf5fd9a5ee3c70636741a9..ec8b949ac1571272dadb33cca6ac46f151dd33a7 100644
--- a/src/p_pspr.h
+++ b/src/p_pspr.h
@@ -39,7 +39,7 @@
 #define FF_FRAMEMASK 0xff
 
 /// \brief Frame flags - SPR2: Super sprite2
-#define FF_SPR2SUPER 0x80
+#define FF_SPR2SUPER SPR2F_SUPER //TODO: 2.3: remove this backwards compat hack
 /// \brief Frame flags - SPR2: A change of state at the end of Sprite2 animation
 #define FF_SPR2ENDSTATE 0x100
 /// \brief Frame flags - SPR2: 50% of starting in middle of Sprite2 animation
diff --git a/src/r_skins.c b/src/r_skins.c
index abb8c58236d6da223beb3a6d597acd3dd5fca284..76fde56b12e797289c29f7b4d1a8fc830a93fb2f 100644
--- a/src/r_skins.c
+++ b/src/r_skins.c
@@ -43,10 +43,9 @@ UINT32 P_GetStateSprite2(state_t *state)
 	else
 	{
 		// Transform the state frame into an animation ID
-		UINT32 stateframe = state->frame & FF_FRAMEMASK;
-		UINT16 spr2 = stateframe & ~FF_SPR2SUPER;
+		UINT16 spr2 = state->frame & FF_FRAMEMASK;
 
-		if (stateframe & FF_SPR2SUPER)
+		if (state->frame & SPR2F_SUPER)
 			spr2 |= SPR2F_SUPER;
 
 		return spr2;
@@ -70,7 +69,7 @@ boolean P_IsStateSprite2Super(state_t *state)
 		if (state->sprite2 & SPR2F_SUPER)
 			return true;
 	}
-	else if (state->frame & FF_SPR2SUPER)
+	else if (state->frame & SPR2F_SUPER)
 		return true;
 
 	return false;