diff --git a/src/p_setup.c b/src/p_setup.c
index 04d02fe4625a00c07af7cb0f917aeca11eecca6f..1a045bee39263ce2082c7246a4b1bf8fc671fe36 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -2770,6 +2770,18 @@ static void P_ConvertBinaryMap(void)
 			break;
 		}
 	}
+
+	for (i = 0; i < nummapthings; i++)
+	{
+		switch (mapthings[i].type)
+		{
+		case 750:
+			mapthings[i].tag = mapthings[i].angle;
+			break;
+		default:
+			break;
+		}
+	}
 }
 
 /** Compute MD5 message digest for bytes read from memory source
diff --git a/src/p_slopes.c b/src/p_slopes.c
index 46feb8c949ebf7090dcdc8991676c68eff281e51..10cccd224dd139c0b371cd33334099d01d5f5fc7 100644
--- a/src/p_slopes.c
+++ b/src/p_slopes.c
@@ -428,11 +428,11 @@ static pslope_t *MakeViaMapthings(INT16 tag1, INT16 tag2, INT16 tag3, UINT8 flag
 		if (mt->type != 750) // Haha, I'm hijacking the old Chaos Spawn thingtype for something!
 			continue;
 
-		if (!vertices[0] && mt->angle == tag1)
+		if (!vertices[0] && mt->tag == tag1)
 			vertices[0] = mt;
-		else if (!vertices[1] && mt->angle == tag2)
+		else if (!vertices[1] && mt->tag == tag2)
 			vertices[1] = mt;
-		else if (!vertices[2] && mt->angle == tag3)
+		else if (!vertices[2] && mt->tag == tag3)
 			vertices[2] = mt;
 	}