diff --git a/src/ride/vehicle.c b/src/ride/vehicle.c index 95b366aa91..01c017ce07 100644 --- a/src/ride/vehicle.c +++ b/src/ride/vehicle.c @@ -8139,16 +8139,21 @@ loc_6DC743: break; case 4: // loc_6DC820 z = moveInfo->z; - if (z == 2) { - rct_peep *peep = GET_PEEP(vehicle->peep[0]); - if (peep->id & 7) { - z = 7; + // When the ride is closed occasionally the peep is removed + // but the vehicle is still on the track. This will prevent + // it from crashing in that situation. + if (vehicle->peep[0]) { + if (z == 2) { + rct_peep *peep = GET_PEEP(vehicle->peep[0]); + if (peep->id & 7) { + z = 7; + } } - } - if (z == 6) { - rct_peep *peep = GET_PEEP(vehicle->peep[0]); - if (peep->id & 7) { - z = 8; + if (z == 6) { + rct_peep *peep = GET_PEEP(vehicle->peep[0]); + if (peep->id & 7) { + z = 8; + } } } vehicle->mini_golf_current_animation = (uint8)z;