diff --git a/src/lua_infolib.c b/src/lua_infolib.c
index 70f5d736aa63beea9e148ca02b3ddd6313a87e4f..97ff1f4bffeba4b819aaf6a1521543d7161db8e5 100644
--- a/src/lua_infolib.c
+++ b/src/lua_infolib.c
@@ -1206,6 +1206,8 @@ static int mobjinfo_get(lua_State *L)
 	I_Assert(info != NULL);
 	I_Assert(info >= mobjinfo);
 
+	mobjtype_t id = info-mobjinfo;
+
 	switch (field)
 	{
 	case mobjinfo_doomednum:
@@ -1281,7 +1283,6 @@ static int mobjinfo_get(lua_State *L)
 		lua_pushinteger(L, info->raisestate);
 		break;
 	case mobjinfo_string:
-		mobjtype_t id = info-mobjinfo;
 		if (id < MT_FIRSTFREESLOT)
 		{
 			lua_pushstring(L, MOBJTYPE_LIST[id]+3);