diff --git a/src/lua_hook.h b/src/lua_hook.h
index fa8f0ff4c80a983cddf67e8b8bb36560c59be1a0..f49912d8715e49dc35ed2468534a39f5abaa83c3 100644
--- a/src/lua_hook.h
+++ b/src/lua_hook.h
@@ -129,7 +129,7 @@ int LUA_HookCharacterHUD
 	INT32 skinIndex, UINT8 sprite2, UINT8 frame, UINT8 rotation, skincolornum_t color,
 	INT32 ticker, boolean mode
 );
-int LUA_HookEscapePanel(
+boolean LUA_HookEscapePanel(
 	int hook, huddrawlist_h drawlist,
 	int x, int y, int width, int height
 );
diff --git a/src/lua_hooklib.c b/src/lua_hooklib.c
index fd896949092855fcd6cdcdbbdc9280b20e134bbd..857a60405d4a93dc8602680b50e99eaa6f32da98 100644
--- a/src/lua_hooklib.c
+++ b/src/lua_hooklib.c
@@ -738,7 +738,7 @@ int LUA_HookCharacterHUD
 	return hook.status;
 }
 
-int LUA_HookEscapePanel(int hook, huddrawlist_h drawlist, int x, int y, int width, int height)
+boolean LUA_HookEscapePanel(int hook, huddrawlist_h drawlist, int x, int y, int width, int height)
 {
 	Hook_State hookstate;
 	if (prepare_hud_hook(&hookstate, false, hook))
diff --git a/src/m_menu.c b/src/m_menu.c
index 847db747135529af26d8c7c6bb42819af790a5be..e0b5793520c1cada5be10a6b909400ccb4fae4c6 100644
--- a/src/m_menu.c
+++ b/src/m_menu.c
@@ -4751,7 +4751,10 @@ static void M_DrawPauseMenu(void)
 		LUA_HUD_DrawList(luahuddrawlist_infoscreen);
 
 		if (esc_override)
-			goto draw_rest;
+		{
+			M_DrawGenericMenu();
+			return;
+		}
 
 		// Draw any and all emblems at the top.
 		M_DrawMapEmblems(gamemap, 272, 28, true);
@@ -4883,11 +4886,6 @@ static void M_DrawPauseMenu(void)
 			V_DrawRightAlignedString(284, 44 + (i*8), V_MONOSPACE, emblem_text[i]);
 		}
 	}
-
-	draw_rest:
-	{
-		M_DrawGenericMenu();
-	}	
 }
 
 static void M_DrawCenteredMenu(void)