diff --git a/src/g_game.c b/src/g_game.c
index 08192bfb8b82247a0f3c391fb97a143a32f5eb2b..6d8826f1c5ffb29a808f1cea0cacf870684e1f80 100644
--- a/src/g_game.c
+++ b/src/g_game.c
@@ -3592,7 +3592,7 @@ boolean G_CompetitionGametype(void)
   * \return The typeoflevel flag to check for that gametype.
   * \author Graue <graue@oceanbase.org>
   */
-INT16 G_TOLFlag(INT32 pgametype)
+UINT32 G_TOLFlag(INT32 pgametype)
 {
 	if (!multiplayer)
 		return TOL_SP;
@@ -3723,7 +3723,7 @@ static void G_DoCompleted(void)
 		&& (nextmap >= 0 && nextmap < NUMMAPS))
 	{
 		register INT16 cm = nextmap;
-		INT16 tolflag = G_TOLFlag(gametype);
+		UINT32 tolflag = G_TOLFlag(gametype);
 		UINT8 visitedmap[(NUMMAPS+7)/8];
 
 		memset(visitedmap, 0, sizeof (visitedmap));
diff --git a/src/g_game.h b/src/g_game.h
index c4c40d84be5f172cbdc47911b6f9e83de8efc3b7..8a2c5b0aedce18feb0a6f4514e465294be65db94 100644
--- a/src/g_game.h
+++ b/src/g_game.h
@@ -309,6 +309,6 @@ FUNCMATH INT32 G_TicsToCentiseconds(tic_t tics);
 FUNCMATH INT32 G_TicsToMilliseconds(tic_t tics);
 
 // Don't split up TOL handling
-INT16 G_TOLFlag(INT32 pgametype);
+UINT32 G_TOLFlag(INT32 pgametype);
 
 #endif