diff --git a/src/engine.cpp b/src/engine.cpp index e73fdb058a..a72de454b0 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -747,8 +747,14 @@ static void EnableEngineForCompany(EngineID eid, CompanyID company) static void DisableEngineForCompany(EngineID eid, CompanyID company) { Engine *e = Engine::Get(eid); + Company *c = Company::Get(company); ClrBit(e->company_avail, company); + if (e->type == VEH_TRAIN) { + c->avail_railtypes = GetCompanyRailtypes(c->index); + } else if (e->type == VEH_ROAD) { + c->avail_roadtypes = GetCompanyRoadTypes(c->index); + } if (company == _local_company) { AddRemoveEngineFromAutoreplaceAndBuildWindows(e->type);