diff --git a/src/p_tick.c b/src/p_tick.c
index 9a7b6513d88d33cd46230aafdfd389bff2424829..adeee4d0cb23a4122de3b7e18fffde326d2bae7e 100644
--- a/src/p_tick.c
+++ b/src/p_tick.c
@@ -487,24 +487,20 @@ static void P_DoAutobalanceTeams(void)
 		{
 			i = M_RandomKey(count[G_GetTeam(1)]);
 			NetPacket.packet.newteam = 2;
-			NetPacket.packet.playernum = array[1][i];
-			NetPacket.packet.verification = true;
-			NetPacket.packet.autobalance = true;
-
-			usvalue  = SHORT(NetPacket.value.l|NetPacket.value.b);
-			SendNetXCmd(XD_TEAMCHANGE, &usvalue, sizeof(usvalue));
+			NetPacket.packet.playernum = array[G_GetTeam(1)][i];
 		}
 		else
 		{
 			i = M_RandomKey(count[G_GetTeam(2)]);
 			NetPacket.packet.newteam = 1;
-			NetPacket.packet.playernum = array[2][i];
-			NetPacket.packet.verification = true;
-			NetPacket.packet.autobalance = true;
-
-			usvalue  = SHORT(NetPacket.value.l|NetPacket.value.b);
-			SendNetXCmd(XD_TEAMCHANGE, &usvalue, sizeof(usvalue));
+			NetPacket.packet.playernum = array[G_GetTeam(2)][i];
 		}
+
+		NetPacket.packet.verification = true;
+		NetPacket.packet.autobalance = true;
+
+		usvalue = SHORT(NetPacket.value.l|NetPacket.value.b);
+		SendNetXCmd(XD_TEAMCHANGE, &usvalue, sizeof(usvalue));
 	}
 }
 
@@ -653,7 +649,7 @@ static inline void P_DoTagStuff(void)
 	}
 }
 
-static inline void P_DoCTFStuff(void)
+static inline void P_DoTeamGametypeStuff(void)
 {
 	// Automatic team balance for CTF and team match
 	if (leveltime % (TICRATE * 5) == 0) //only check once per five seconds for the sake of CPU conservation.
@@ -805,7 +801,7 @@ void P_Ticker(boolean run)
 		P_DoTagStuff();
 
 	if (G_GametypeHasTeams())
-		P_DoCTFStuff();
+		P_DoTeamGametypeStuff();
 
 	if (run)
 	{
diff --git a/src/p_user.c b/src/p_user.c
index d4df56f9bb585da149cee5f2162c8f31d52e5ae3..fa634c5ccd2064f149a02b23d4ecdccb2386a578 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -10512,7 +10512,6 @@ boolean P_SpectatorJoinGame(player_t *player)
 
 	// Team changing in Team Match and CTF
 	// Pressing fire assigns you to a team that needs players if allowed.
-	// Partial code reproduction from p_tick.c autobalance code.
 	else if (G_GametypeHasTeams())
 	{
 		UINT8 changeto = G_GetMostDisadvantagedTeam();