diff --git a/src/game/body.c b/src/game/body.c index 8a8c5d564..422e41726 100644 --- a/src/game/body.c +++ b/src/game/body.c @@ -167,10 +167,11 @@ struct model *body0f02ce8c(s32 bodynum, s32 headnum, struct modelfiledata *bodyf bodyfiledata->rwdatalen += headfiledata->rwdatalen; } else if (headnum > 0) { if (headfiledata == NULL) { - headfiledata = modeldefLoadToNew(g_HeadsAndBodies[headnum].filenum); - g_HeadsAndBodies[headnum].filedata = headfiledata; - g_FileInfo[g_HeadsAndBodies[headnum].filenum].loadedsize = 0; - bodyCalculateHeadOffset(headfiledata, headnum, bodynum); + if (g_HeadsAndBodies[headnum].filedata == NULL) { + g_HeadsAndBodies[headnum].filedata = modeldefLoadToNew(g_HeadsAndBodies[headnum].filenum); + } + + headfiledata = g_HeadsAndBodies[headnum].filedata; } modelCalculateRwDataLen(headfiledata);