diff --git a/src/group_cmd.cpp b/src/group_cmd.cpp index f27473640f..7942d406e8 100644 --- a/src/group_cmd.cpp +++ b/src/group_cmd.cpp @@ -216,12 +216,13 @@ CommandCost CmdAddVehicleGroup(TileIndex tile, uint32 flags, uint32 p1, uint32 p if (!IsValidVehicleID(p2) || (!IsValidGroupID(new_g) && !IsDefaultGroupID(new_g))) return CMD_ERROR; + Vehicle *v = GetVehicle(p2); + if (IsValidGroupID(new_g)) { Group *g = GetGroup(new_g); - if (g->owner != _current_player) return CMD_ERROR; + if (g->owner != _current_player || g->vehicle_type != v->type) return CMD_ERROR; } - Vehicle *v = GetVehicle(p2); if (v->owner != _current_player || !v->IsPrimaryVehicle()) return CMD_ERROR; if (flags & DC_EXEC) {