diff --git a/src/g_game.c b/src/g_game.c
index 7ea211141b9cb97e33e5c48f40d3950ecb747355..52358a8b9cb2c0f923902b40d2313ecbb8ffe003 100644
--- a/src/g_game.c
+++ b/src/g_game.c
@@ -3021,7 +3021,6 @@ static void G_DoCompleted(void)
 
 	if ((gottoken = (gametype == GT_COOP && token)))
 	{
-		INT16 i;
 		token--;
 
 		for (i = 0; i < 7; i++)
diff --git a/src/p_enemy.c b/src/p_enemy.c
index 16d022c2287a3069a37537d7db303e686bf82d15..9235a1d0f134bbc42a65e061c30a9380ba97a093 100644
--- a/src/p_enemy.c
+++ b/src/p_enemy.c
@@ -1594,7 +1594,7 @@ void A_CheckBuddy(mobj_t *actor)
 
 // Helper function for the Robo Hood.
 // Don't ask me how it works. Nev3r made it with dark majyks.
-void P_ParabolicMove(mobj_t *actor, fixed_t x, fixed_t y, fixed_t z, fixed_t speed)
+static void P_ParabolicMove(mobj_t *actor, fixed_t x, fixed_t y, fixed_t z, fixed_t speed)
 {
 	fixed_t dh;
 
diff --git a/src/p_inter.c b/src/p_inter.c
index 033d148a8adbed3b6851112019a443efed1faa1e..5737e2c2acb266561beffc2475e480aef596f49d 100644
--- a/src/p_inter.c
+++ b/src/p_inter.c
@@ -2663,6 +2663,8 @@ static inline void P_NiGHTSDamage(mobj_t *target, mobj_t *source)
 	player_t *player = target->player;
 	tic_t oldnightstime = player->nightstime;
 
+	(void)source; // unused
+
 	if (!player->powers[pw_flashing])
 	{
 		angle_t fa;
diff --git a/src/p_user.c b/src/p_user.c
index 8ba1dae5408644af631f05785d9459aa0cff739b..357933f1401d42291e955c850a3eab176e89ab89 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -306,7 +306,6 @@ void P_GiveEmerald(boolean spawnObj)
 	if (spawnObj && playeringame[consoleplayer])
 	{
 		// The Chaos Emerald begins to orbit us!
-		UINT8 em = P_GetNextEmerald();
 		// Only give it to ONE person!
 		mobj_t *emmo = P_SpawnMobjFromMobj(players[consoleplayer].mo, 0, 0, players[consoleplayer].mo->height, MT_GOTEMERALD);
 		P_SetTarget(&emmo->target, players[consoleplayer].mo);
diff --git a/src/st_stuff.c b/src/st_stuff.c
index 88f2c6259df4296d671ef918679f849baa177c1c..3ecd0acdf85e3c28b99c2938d29bc37321621e10 100644
--- a/src/st_stuff.c
+++ b/src/st_stuff.c
@@ -1667,7 +1667,7 @@ static void ST_drawNiGHTSHUD(void)
 		else
 			ST_DrawTopLeftOverlayPatch(40, 8 + 5, narrow[(leveltime/2)&7]);
 	}
-	else if (oldspecialstage && total_spherecount < ssspheres)
+	else if (oldspecialstage && total_spherecount < (INT32)ssspheres)
 	{
 		INT32 cfill, amount;
 		const INT32 length = 88;
diff --git a/src/y_inter.c b/src/y_inter.c
index a26f59ce8be80640ee92053d2055512a021b0d42..68dda198c60fbd1721f89e8226013ab177b0cd24 100644
--- a/src/y_inter.c
+++ b/src/y_inter.c
@@ -329,7 +329,7 @@ void Y_IntermissionDrawer(void)
 		else if (!animatetic && data.spec.bonus.points == 0 && data.spec.passed3[0] != '\0')
 			animatetic = intertic + TICRATE;
 
-		if (animatetic && intertic >= animatetic)
+		if (animatetic && (tic_t)intertic >= animatetic)
 		{
 			const INT32 scradjust = (vid.width/vid.dupx)>>3; // 40 for BASEVIDWIDTH
 			INT32 animatetimer = (intertic - animatetic);