diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 139cb84fea1..e3b06b07222 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -4277,12 +4277,14 @@ static void direct_link_particlesystems(FileData *fd, ListBase *particles) psys->flag &= ~PSYS_KEYED; } - + if (psys->particles && psys->particles->boid) { pa = psys->particles; pa->boid = newdataadr(fd, pa->boid); - for (a=1, pa++; atotpart; a++, pa++) - pa->boid = (pa-1)->boid + 1; + for (a = 1, pa++; a < psys->totpart; a++, pa++) { + pa->boid = (pa - 1)->boid + 1; + pa->boid->ground = NULL; /* This is purely runtime data, but still can be an issue if left dangling. */ + } } else if (psys->particles) { for (a=0, pa=psys->particles; atotpart; a++, pa++)