diff --git a/src/lua_script.c b/src/lua_script.c
index 25e0a8f37bcf6c105d1b4bde6e3ddc1c421adda4..bf262c065206e90405719ebaacafabab6db38c5a 100644
--- a/src/lua_script.c
+++ b/src/lua_script.c
@@ -1390,7 +1390,7 @@ static void ArchiveTables(void)
 			if (e == 1)
 				n++; // the table contained a new table we'll have to archive. :(
 			else if (e == 2) // invalid value type
-				CONS_Alert(CONS_ERROR, "Type of value for table %d entry '%s' (%s) could not be archived!\n", i, lua_tostring(gL, -1), luaL_typename(gL, -1));
+				CONS_Alert(CONS_ERROR, "Type of value for table %d entry '%s' (%s) could not be archived!\n", i, lua_tostring(gL, -2), luaL_typename(gL, -1));
 
 			lua_pop(gL, 1);
 		}