diff --git a/src/g_game.c b/src/g_game.c
index e2f43e4f26e13948b94b2cbfbf32e7b3f69e76e5..137992e4d3697fdf2a6fc7dd6e9e06800c784346 100644
--- a/src/g_game.c
+++ b/src/g_game.c
@@ -2803,7 +2803,7 @@ void G_AddPlayer(INT32 playernum)
 
 			countplayers++;
 
-			if (!players->exiting)
+			if (!players[i].exiting)
 				notexiting++;
 
 			if (!(cv_coopstarposts.value && (gametype == GT_COOP) && (p->starpostnum < players[i].starpostnum)))
diff --git a/src/p_inter.c b/src/p_inter.c
index 9017f795d38d6066c9512c37298e581560a02aaa..b4a16ba8442357c48d68d3e0cc4e9f2a14e0489d 100644
--- a/src/p_inter.c
+++ b/src/p_inter.c
@@ -633,7 +633,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
 				if (!(netgame || multiplayer))
 				{
 					player->continues += 1;
-					players->gotcontinue = true;
+					player->gotcontinue = true;
 					if (P_IsLocalPlayer(player))
 						S_StartSound(NULL, sfx_s3kac);
 					else
diff --git a/src/p_map.c b/src/p_map.c
index 33ac2026572780431a6af1afdc88725462036f66..bb56a50b16932ae818f2a8e62f13a9e940cd3688 100644
--- a/src/p_map.c
+++ b/src/p_map.c
@@ -540,7 +540,7 @@ static void P_DoFanAndGasJet(mobj_t *spring, mobj_t *object)
 
 static void P_DoPterabyteCarry(player_t *player, mobj_t *ptera)
 {
-	if (player->powers[pw_carry] && players->powers[pw_carry] != CR_ROLLOUT)
+	if (player->powers[pw_carry] && player->powers[pw_carry] != CR_ROLLOUT)
 		return;
 	if (ptera->extravalue1 != 1)
 		return; // Not swooping