diff --git a/src/openrct2/park/ParkFile.cpp b/src/openrct2/park/ParkFile.cpp index 46b5d93428..8d09ae213c 100644 --- a/src/openrct2/park/ParkFile.cpp +++ b/src/openrct2/park/ParkFile.cpp @@ -1193,7 +1193,12 @@ namespace OpenRCT2 // Ride ID cs.ReadWrite(rideId); - auto& ride = *RideAllocateAtIndex(rideId); + auto& ride = [&]() -> Ride& { + if (cs.GetMode() == OrcaStream::Mode::WRITING) + return *GetRide(rideId); + else + return *RideAllocateAtIndex(rideId); + }(); // Status cs.ReadWrite(ride.type);