diff --git a/src/lua_hudlib.c b/src/lua_hudlib.c
index 7d0f535fb4a2f684f6ad3a699139e4421ab7b075..68a69cd1d2934e3af83f24c804aad7368b6f7359 100644
--- a/src/lua_hudlib.c
+++ b/src/lua_hudlib.c
@@ -407,7 +407,7 @@ static int libd_getSpritePatch(lua_State *L)
 static int libd_getSprite2Patch(lua_State *L)
 {
 	INT32 i; // skin number
-	INT32 j; // sprite2 prefix
+	UINT32 j; // sprite2 prefix
 	UINT32 frame = 0; // 'A'
 	UINT8 angle = 0;
 	spritedef_t *sprdef;
diff --git a/src/lua_infolib.c b/src/lua_infolib.c
index 3f5bdc53bf4a76419580c66ec97f984cf839e3d2..8f2ce67cda3f72791c4cee416b422629f051d824 100644
--- a/src/lua_infolib.c
+++ b/src/lua_infolib.c
@@ -102,7 +102,7 @@ static int lib_sprnamelen(lua_State *L)
 // push sprite name
 static int lib_getSpr2name(lua_State *L)
 {
-	INT32 i;
+	UINT32 i;
 
 	lua_remove(L, 1); // don't care about spr2names[] dummy userdata.
 
@@ -129,7 +129,7 @@ static int lib_getSpr2name(lua_State *L)
 
 static int lib_getSpr2default(lua_State *L)
 {
-	INT32 i;
+	UINT32 i;
 
 	lua_remove(L, 1); // don't care about spr2defaults[] dummy userdata.
 
@@ -154,7 +154,7 @@ static int lib_getSpr2default(lua_State *L)
 
 static int lib_setSpr2default(lua_State *L)
 {
-	INT32 i;
+	UINT32 i;
 	UINT8 j = 0;
 
 	lua_remove(L, 1); // don't care about spr2defaults[] dummy userdata.
diff --git a/src/m_menu.c b/src/m_menu.c
index 44386b34ac6cd479440453d51ffb0372fcb9393b..69cd4236557e94dd2430bd3f5a1c0361112ba3ff 100644
--- a/src/m_menu.c
+++ b/src/m_menu.c
@@ -70,6 +70,10 @@ int	snprintf(char *str, size_t n, const char *fmt, ...);
 //int	vsnprintf(char *str, size_t n, const char *fmt, va_list ap);
 #endif
 
+#if defined (__GNUC__) && (__GNUC__ >= 4)
+#define FIXUPO0
+#endif
+
 #define SKULLXOFF -32
 #define LINEHEIGHT 16
 #define STRINGHEIGHT 8
@@ -4953,7 +4957,7 @@ static boolean M_AddonsRefresh(void)
 
 #define offs 1
 
-#ifdef __GNUC__
+#ifdef FIXUPO0
 #pragma GCC optimize ("0")
 #endif
 
@@ -5081,7 +5085,7 @@ static void M_DrawAddons(void)
 #undef CANSAVE
 }
 
-#ifdef __GNUC__
+#ifdef FIXUPO0
 #pragma GCC reset_options
 #endif