diff --git a/src/p_user.c b/src/p_user.c
index c469528c45e84e4d66d104a30249273e108c167d..bd110daf718d571adba1c949f852bf7785f42c8a 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -1460,7 +1460,14 @@ static boolean P_PlayerCanBust(player_t *player, ffloor_t *rover)
 	// TODO: Make these act like the Lua SA2 boxes.
 	(void)player;
 	(void)rover;
-	return false;
+
+	if (!(rover->fofflags & FOF_EXISTS))
+		return false;
+
+	if (!(rover->fofflags & FOF_BUSTUP))
+		return false;
+
+	return true;
 }
 
 static void P_CheckBustableBlocks(player_t *player)