diff --git a/src/blua/lcode.c b/src/blua/lcode.c
index 743a094a874f91958055777efc4708734e638dba..5c7fed4541a4442d9d40691663965250de434619 100644
--- a/src/blua/lcode.c
+++ b/src/blua/lcode.c
@@ -270,6 +270,7 @@ static int boolK (FuncState *fs, int b) {
 
 static int nilK (FuncState *fs) {
   TValue k, v;
+  setbvalue(&v, 0);
   setnilvalue(&v);
   /* cannot use nil as key; instead use table itself to represent nil */
   sethvalue(fs->L, &k, fs->h);
diff --git a/src/sdl/i_main.c b/src/sdl/i_main.c
index e06c4ae95e6086047ec34a79b19b1759295604b3..2364281d6e37ba65099eb05aa02132583429a851 100644
--- a/src/sdl/i_main.c
+++ b/src/sdl/i_main.c
@@ -245,7 +245,7 @@ int main(int argc, char **argv)
 #endif
 
 	// return to OS
-#if !defined (__GNUC__) || (__GNUC__ < 3)
+#if !defined (__GNUC__)
 	return 0;
 #endif
 }