diff --git a/OpenRA.Game/GameInformation.cs b/OpenRA.Game/GameInformation.cs
index bd128a7895..5775ab17c1 100644
--- a/OpenRA.Game/GameInformation.cs
+++ b/OpenRA.Game/GameInformation.cs
@@ -119,6 +119,8 @@ namespace OpenRA
IsBot = runtimePlayer.IsBot,
FactionName = runtimePlayer.Faction.Name,
FactionId = runtimePlayer.Faction.InternalName,
+ DisplayFactionName = runtimePlayer.DisplayFaction.Name,
+ DisplayFactionId = runtimePlayer.DisplayFaction.InternalName,
Color = runtimePlayer.Color,
Team = client.Team,
SpawnPoint = runtimePlayer.SpawnPoint,
@@ -157,6 +159,10 @@ namespace OpenRA
public string FactionId;
public Color Color;
+ /// The faction (including Random, etc.) that was selected in the lobby.
+ public string DisplayFactionName;
+ public string DisplayFactionId;
+
/// The team ID on start-up, or 0 if the player is not part of a team.
public int Team;
public int SpawnPoint;
diff --git a/OpenRA.Game/Player.cs b/OpenRA.Game/Player.cs
index dae3e49cf7..bfbf56ce71 100644
--- a/OpenRA.Game/Player.cs
+++ b/OpenRA.Game/Player.cs
@@ -64,7 +64,7 @@ namespace OpenRA
public readonly Shroud Shroud;
public readonly FrozenActorLayer FrozenActorLayer;
- /// The faction (including Random, etc) that was selected in the lobby.
+ /// The faction (including Random, etc.) that was selected in the lobby.
public readonly FactionInfo DisplayFaction;
/// The spawn point index that was assigned for client-based players.
diff --git a/OpenRA.Mods.Common/Traits/World/CreateMPPlayers.cs b/OpenRA.Mods.Common/Traits/World/CreateMPPlayers.cs
index 2a6a0c78e2..77e725b168 100644
--- a/OpenRA.Mods.Common/Traits/World/CreateMPPlayers.cs
+++ b/OpenRA.Mods.Common/Traits/World/CreateMPPlayers.cs
@@ -60,6 +60,8 @@ namespace OpenRA.Mods.Common.Traits
IsBot = client.Bot != null,
FactionName = resolvedFaction.Name,
FactionId = resolvedFaction.InternalName,
+ DisplayFactionName = clientFaction.Name,
+ DisplayFactionId = clientFaction.InternalName,
Color = client.Color,
Team = client.Team,
SpawnPoint = resolvedSpawnPoint,