diff --git a/src/doomdata.h b/src/doomdata.h
index 884c043a4f9d36f3df8d0f746f8ff6abe4b769e9..8621a362a731100c02aaf0c05a8dd1f5a3c8d245 100644
--- a/src/doomdata.h
+++ b/src/doomdata.h
@@ -205,7 +205,6 @@ typedef struct
 	UINT16 options;
 	INT16 z;
 	UINT8 extrainfo;
-	INT16 tag;
 	taglist_t tags;
 	struct mobj_s *mobj;
 } mapthing_t;
diff --git a/src/p_enemy.c b/src/p_enemy.c
index a51d76cb06bae10cd74ed6d1d970360c44cc9e01..72aac711ec4869c5e522c8214e9c1638644fa31b 100644
--- a/src/p_enemy.c
+++ b/src/p_enemy.c
@@ -3866,13 +3866,10 @@ void A_BossDeath(mobj_t *mo)
 	{
 		// Bring the egg trap up to the surface
 		// Incredibly shitty code ahead
-		junk.tag = LE_CAPSULE0;
 		Tag_FSet(&junk.tags, LE_CAPSULE0);
 		EV_DoElevator(&junk, elevateHighest, false);
-		junk.tag = LE_CAPSULE1;
 		Tag_FSet(&junk.tags, LE_CAPSULE1);
 		EV_DoElevator(&junk, elevateUp, false);
-		junk.tag = LE_CAPSULE2;
 		Tag_FSet(&junk.tags, LE_CAPSULE2);
 		EV_DoElevator(&junk, elevateHighest, false);
 
@@ -3996,7 +3993,6 @@ bossjustdie:
 		}
 		case MT_KOOPA:
 		{
-			junk.tag = LE_KOOPA;
 			Tag_FSet(&junk.tags, LE_KOOPA);
 			EV_DoCeiling(&junk, raiseToHighest);
 			return;
diff --git a/src/p_inter.c b/src/p_inter.c
index 0cdbe57b286f231e5304eed7cd0a435b45fc6c15..efe23d5008679a354a962769840eb63612886281 100644
--- a/src/p_inter.c
+++ b/src/p_inter.c
@@ -1376,7 +1376,6 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
 				if (player->bot)
 					return;
 
-				junk.tag = LE_AXE;
 				Tag_FSet(&junk.tags, LE_AXE);
 				EV_DoElevator(&junk, bridgeFall, false);
 
diff --git a/src/p_setup.c b/src/p_setup.c
index baa71c6b39067af834636d713b6d78cc9b61aca7..fe0818249efdcacfa4076dd8dfb8c4ea44e82bde 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -933,7 +933,6 @@ static void P_LoadSectors(UINT8 *data)
 
 		ss->lightlevel = SHORT(ms->lightlevel);
 		ss->special = SHORT(ms->special);
-		ss->tag = SHORT(ms->tag);
 		Tag_FSet(&ss->tags, SHORT(ms->tag));
 
 		ss->floor_xoffs = ss->floor_yoffs = 0;
@@ -1047,7 +1046,6 @@ static void P_LoadLinedefs(UINT8 *data)
 	{
 		ld->flags = SHORT(mld->flags);
 		ld->special = SHORT(mld->special);
-		ld->tag = SHORT(mld->tag);
 		Tag_FSet(&ld->tags, SHORT(mld->tag));
 		memset(ld->args, 0, NUMLINEARGS*sizeof(*ld->args));
 		memset(ld->stringargs, 0x00, NUMLINESTRINGARGS*sizeof(*ld->stringargs));
@@ -1278,7 +1276,6 @@ static void P_LoadThings(UINT8 *data)
 		mt->type = READUINT16(data);
 		mt->options = READUINT16(data);
 		mt->extrainfo = (UINT8)(mt->type >> 12);
-		mt->tag = 0;
 		Tag_FSet(&mt->tags, 0);
 
 		mt->type &= 4095;
@@ -1399,10 +1396,7 @@ static void ParseTextmapSectorParameter(UINT32 i, char *param, char *val)
 	else if (fastcmp(param, "special"))
 		sectors[i].special = atol(val);
 	else if (fastcmp(param, "id"))
-	{
-		sectors[i].tag = atol(val);
-		Tag_FSet(&sectors[i].tags, sectors[i].tag);
-	}
+		Tag_FSet(&sectors[i].tags, atol(val));
 	else if (fastcmp(param, "moreids"))
 	{
 		char* id = val;
@@ -1448,10 +1442,7 @@ static void ParseTextmapSidedefParameter(UINT32 i, char *param, char *val)
 static void ParseTextmapLinedefParameter(UINT32 i, char *param, char *val)
 {
 	if (fastcmp(param, "id"))
-	{
-		lines[i].tag = atol(val);
-		Tag_FSet(&lines[i].tags, lines[i].tag);
-	}
+		Tag_FSet(&lines[i].tags, atol(val));
 	else if (fastcmp(param, "moreids"))
 	{
 		char* id = val;
@@ -1528,10 +1519,7 @@ static void ParseTextmapLinedefParameter(UINT32 i, char *param, char *val)
 static void ParseTextmapThingParameter(UINT32 i, char *param, char *val)
 {
 	if (fastcmp(param, "id"))
-	{
-		mapthings[i].tag = atol(val);
-		Tag_FSet(&mapthings[i].tags, mapthings[i].tag);
-	}
+		Tag_FSet(&mapthings[i].tags, atol(val));
 	else if (fastcmp(param, "moreids"))
 	{
 		char* id = val;
@@ -1670,7 +1658,6 @@ static void P_LoadTextmap(void)
 		sc->lightlevel = 255;
 
 		sc->special = 0;
-		sc->tag = 0;
 		Tag_FSet(&sc->tags, 0);
 
 		sc->floor_xoffs = sc->floor_yoffs = 0;
@@ -1690,7 +1677,6 @@ static void P_LoadTextmap(void)
 		ld->v1 = ld->v2 = NULL;
 		ld->flags = 0;
 		ld->special = 0;
-		ld->tag = 0;
 		Tag_FSet(&ld->tags, 0);
 
 		memset(ld->args, 0, NUMLINEARGS*sizeof(*ld->args));
@@ -1739,7 +1725,6 @@ static void P_LoadTextmap(void)
 		mt->options = 0;
 		mt->z = 0;
 		mt->extrainfo = 0;
-		mt->tag = 0;
 		Tag_FSet(&mt->tags, 0);
 		mt->mobj = NULL;
 
diff --git a/src/p_spec.c b/src/p_spec.c
index 81a5e0e49da9f3d3757bcee032f33f55af46065e..ccce18e30afa2ed649500c35006db09992ba445c 100644
--- a/src/p_spec.c
+++ b/src/p_spec.c
@@ -4366,16 +4366,13 @@ void P_ProcessSpecialSector(player_t *player, sector_t *sector, sector_t *rovers
 
 			// Move the button down
 			Tag_FSet(&junk.tags, 680);
-			junk.tag = 680;
 			EV_DoElevator(&junk, elevateDown, false);
 
 			// Open the top FOF
 			Tag_FSet(&junk.tags, 681);
-			junk.tag = 681;
 			EV_DoFloor(&junk, raiseFloorToNearestFast);
 			// Open the bottom FOF
 			Tag_FSet(&junk.tags, 682);
-			junk.tag = 682;
 			EV_DoCeiling(&junk, lowerToLowestFast);
 
 			// Mark all players with the time to exit thingy!
@@ -5549,7 +5546,7 @@ static ffloor_t *P_AddFakeFloor(sector_t *sec, sector_t *sec2, line_t *master, f
 	{
 		fixed_t tempceiling = sec2->ceilingheight;
 		//flip the sector around and print an error instead of crashing 12.1.08 -Inuyasha
-		CONS_Alert(CONS_ERROR, M_GetText("A FOF tagged %d has a top height below its bottom.\n"), master->tag);
+		CONS_Alert(CONS_ERROR, M_GetText("FOF (line %d) has a top height below its bottom.\n"), master - lines);
 		sec2->ceilingheight = sec2->floorheight;
 		sec2->floorheight = tempceiling;
 	}
diff --git a/src/r_defs.h b/src/r_defs.h
index 41d141ce80e97b932b7be7902ca10fa923c0d460..72e3675cb987a9b65b389f55e3ee04d0ab4c8499 100644
--- a/src/r_defs.h
+++ b/src/r_defs.h
@@ -291,7 +291,6 @@ typedef struct sector_s
 	INT32 ceilingpic;
 	INT16 lightlevel;
 	INT16 special;
-	UINT16 tag;
 	taglist_t tags;
 
 	// origin for any sounds played by the sector
@@ -409,7 +408,6 @@ typedef struct line_s
 	// Animation related.
 	INT16 flags;
 	INT16 special;
-	INT16 tag;
 	taglist_t tags;
 	INT32 args[NUMLINEARGS];
 	char *stringargs[NUMLINESTRINGARGS];