diff --git a/src/object_cmd.cpp b/src/object_cmd.cpp index b6ea0b4084..dad4039461 100644 --- a/src/object_cmd.cpp +++ b/src/object_cmd.cpp @@ -328,6 +328,8 @@ CommandCost CmdBuildObject(DoCommandFlag flags, TileIndex tile, ObjectType type, case OBJECT_HQ: { Company *c = Company::Get(_current_company); if (c->location_of_HQ != INVALID_TILE) { + /* Don't relocate HQ on the same location. */ + if (c->location_of_HQ == tile) return_cmd_error(STR_ERROR_ALREADY_BUILT); /* We need to persuade a bit harder to remove the old HQ. */ _current_company = OWNER_WATER; cost.AddCost(ClearTile_Object(c->location_of_HQ, flags));