diff --git a/src/openrct2/actions/RideSetSettingAction.cpp b/src/openrct2/actions/RideSetSettingAction.cpp index 52b04dbe29..7afabd1b03 100644 --- a/src/openrct2/actions/RideSetSettingAction.cpp +++ b/src/openrct2/actions/RideSetSettingAction.cpp @@ -8,7 +8,7 @@ *****************************************************************************/ #include "RideSetSettingAction.h" - +#include "RideSetStatusAction.h" #include "../Context.h" #include "../Diagnostic.h" #include "../GameState.h" @@ -169,6 +169,13 @@ namespace OpenRCT2::GameActions RideClearForConstruction(*ride); ride->removePeeps(); + if (ride->status == RideStatus::simulating) + { + // Also close the ride + auto gameAction = GameActions::RideSetStatusAction(ride->id, RideStatus::closed); + ExecuteNested(&gameAction, gameState); + } + ride->mode = static_cast(_value); ride->updateMaxVehicles(); ride->updateNumberOfCircuits();