diff --git a/src/d_player.h b/src/d_player.h
index 03579be28..794dc5640 100644
--- a/src/d_player.h
+++ b/src/d_player.h
@@ -52,8 +52,6 @@ typedef enum
 	SF_NOSUPERSPRITES   = 1<<16, // Don't use super sprites while super
 	SF_NOSUPERJUMPBOOST = 1<<17, // Disable the jump boost given while super (i.e. Knuckles)
 	SF_CANBREAKWALLS	= 1<<18, // Can naturally break walls on contact? (i.e. Knuckles)
-	SF_CANBREAKFLOORS	= 1<<19, // Can naturally break floors on contact?
-	SF_BUSTABLEBUSTER	= SF_CANBREAKWALLS|SF_CANBREAKFLOORS,	// Convenience skinflag.
 	// free up to and including 1<<31
 } skinflags_t;
 
@@ -158,6 +156,7 @@ typedef enum
 	PF_FORCESTRAFE = 1<<28, // Turning inputs are translated into strafing inputs
 	PF_CANCARRY    = 1<<29, // Can carry another player?
 	PF_FINISHED    = 1<<30, // The player finished the level. NOT the same as exiting
+	PF_CANBREAKFLOORS	= 1<<31, // The player can break floors.
 
 	// up to 1<<31 is free
 } pflags_t;
diff --git a/src/dehacked.c b/src/dehacked.c
index 9cd181256..77e7fed4a 100644
--- a/src/dehacked.c
+++ b/src/dehacked.c
@@ -9089,6 +9089,7 @@ static const char *const PLAYERFLAG_LIST[] = {
 	"FORCESTRAFE", // Translate turn inputs into strafe inputs
 	"CANCARRY", // Can carry?
 	"FINISHED",
+	"CANBREAKFLOORS", // Can break floors?
 
 	NULL // stop loop here.
 };
@@ -9667,8 +9668,6 @@ struct {
 	{"SF_NOSUPERSPRITES",SF_NOSUPERSPRITES},
 	{"SF_NOSUPERJUMPBOOST",SF_NOSUPERJUMPBOOST},
 	{"SF_CANBREAKWALLS",SF_CANBREAKWALLS},
-	{"SF_CANBREAKFLOORS",SF_CANBREAKFLOORS},
-	{"SF_BUSTABLEBUSTER",SF_BUSTABLEBUSTER},
 
 	// Dashmode constants
 	{"DASHMODE_THRESHOLD",DASHMODE_THRESHOLD},