diff --git a/src/lua_script.c b/src/lua_script.c
index 1c1b01f6c4395ac9983905a1046f2c6f75c99fb1..9b87f0c297865176a8c9fb66cc95d22102080a96 100644
--- a/src/lua_script.c
+++ b/src/lua_script.c
@@ -853,7 +853,7 @@ static UINT8 UnArchiveValue(int TABLESINDEX)
 		LUA_PushUserdata(gL, &sectors[READUINT16(save_p)], META_SECTOR);
 		break;
 	case ARCH_MAPHEADER:
-		LUA_PushUserdata(gL, &sectors[READUINT16(save_p)], META_MAPHEADER);
+		LUA_PushUserdata(gL, mapheaderinfo[READUINT16(save_p)], META_MAPHEADER);
 		break;
 	case ARCH_TEND:
 		return 1;