diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -3307,7 +3307,9 @@ static void UpdateStationRating(Station waiting_changed = true; } - if (waiting_changed) ge->cargo.Truncate(ge->cargo.Count() - waiting); + if (waiting_changed && waiting < ge->cargo.Count()) { + ge->cargo.Truncate(ge->cargo.Count() - waiting); + } } } }