diff --git a/src/windows/ride.c b/src/windows/ride.c index 88086e816a..443c7c921e 100644 --- a/src/windows/ride.c +++ b/src/windows/ride.c @@ -3457,6 +3457,19 @@ static void window_ride_maintenance_dropdown(rct_window *w, int widgetIndex, int case WIDX_FORCE_BREAKDOWN: if (dropdownIndex == 0) { switch (ride->breakdown_reason_pending) { + case BREAKDOWN_SAFETY_CUT_OUT: + for (int i = 0; i < ride->num_vehicles; ++i) { + uint16 spriteId = ride->vehicles[i]; + do { + vehicle = GET_VEHICLE(spriteId); + vehicle->update_flags &= ~( + VEHICLE_UPDATE_FLAG_BROKEN_CAR | + VEHICLE_UPDATE_FLAG_7 | + VEHICLE_UPDATE_FLAG_BROKEN_TRAIN + ); + } while ((spriteId = vehicle->next_vehicle_on_train) != 0xFFFF); + } + break; case BREAKDOWN_RESTRAINTS_STUCK_CLOSED: case BREAKDOWN_RESTRAINTS_STUCK_OPEN: case BREAKDOWN_DOORS_STUCK_CLOSED: