diff --git a/src/screen.c b/src/screen.c
index c14beb6eb27ffeffd901fed02badb85286b24110..6f77631c235e96aaa4cd54ad56668c20608bcbd6 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -56,7 +56,7 @@ void (*twosmultipatchtransfunc)(void); // for cols with transparent pixels AND t
 // ------------------
 viddef_t vid;
 INT32 setmodeneeded; //video mode change needed if > 0 (the mode number to set + 1)
-INT32 setrenderneeded = 0;
+UINT8 setrenderneeded = 0;
 
 static CV_PossibleValue_t scr_depth_cons_t[] = {{8, "8 bits"}, {16, "16 bits"}, {24, "24 bits"}, {32, "32 bits"}, {0, NULL}};
 
diff --git a/src/screen.h b/src/screen.h
index cc45de3d624df5c7c8792cf3c775afbf7912f0dc..8792f7912aabc7406cf932308cf961d516f9b42a 100644
--- a/src/screen.h
+++ b/src/screen.h
@@ -157,7 +157,7 @@ extern INT32 setmodeneeded; // mode number to set if needed, or 0
 
 void SCR_ChangeRenderer(void);
 void SCR_ChangeRendererCVars(INT32 mode);
-extern INT32 setrenderneeded;
+extern UINT8 setrenderneeded;
 
 extern INT32 scr_bpp;
 extern UINT8 *scr_borderpatch; // patch used to fill the view borders