diff --git a/newgrf.c b/newgrf.c index 3ce32bae7c..52ca90575d 100644 --- a/newgrf.c +++ b/newgrf.c @@ -1989,6 +1989,14 @@ void InitNewGRFFile(const char *filename, int sprite_offset) { struct GRFFile *newfile; + newfile = GetFileByFilename(filename); + if (newfile) { + /* We already loaded it once. */ + newfile->sprite_offset = sprite_offset; + _cur_grffile = newfile; + return; + } + newfile = calloc(1, sizeof(struct GRFFile)); if (newfile == NULL)