Index: binaries/data/mods/public/gui/common/gamedescription.js
===================================================================
--- binaries/data/mods/public/gui/common/gamedescription.js	(revision 18979)
+++ binaries/data/mods/public/gui/common/gamedescription.js	(working copy)
@@ -327,5 +327,27 @@ function getGameDescription(extended = f
 			title.value === true ? translateWithContext("gamesetup option", "enabled") :
 			!title.value ? translateWithContext("gamesetup option", "disabled") :
 			title.value
 	})).join("\n");
 }
+
+/**
+ * Sets the win/defeat icon to indicate current player's state.
+ * @param {string} state - The current in-game state of the player.
+ * @param {string} imageID - The name of the XML image object to update.
+ */
+function setOutcomeIcon(state, imageID)
+{
+	let image = Engine.GetGUIObjectByName(imageID);
+	image.tooltip = escapeText(imageID);
+
+	if (state == "won")
+	{
+		image.sprite = "stretched:session/icons/stances/violent.png";
+		image.tooltip = translate("Victory");
+	}
+	else if (state == "defeated")
+	{
+		image.sprite = "stretched:session/icons/stances/passive.png";
+		image.tooltip = translate("Defeated");
+	}
+}
Index: binaries/data/mods/public/gui/session/diplomacy_window.xml
===================================================================
--- binaries/data/mods/public/gui/session/diplomacy_window.xml	(revision 18979)
+++ binaries/data/mods/public/gui/session/diplomacy_window.xml	(working copy)
@@ -9,11 +9,11 @@
 	<object type="text" style="TitleText" size="50%-96 -16 50%+96 16">
 		<translatableAttribute id="caption">Diplomacy</translatableAttribute>
 	</object>
 
 	<object name="diplomacyHeader" size="32 32 100%-32 64">
-		<object name="diplomacyHeaderName" size="0 0 140 100%" type="text" style="DiplomacyText" ghost="true" text_align="center">
+		<object name="diplomacyHeaderName" size="20 0 140 100%" type="text" style="DiplomacyText" ghost="true" text_align="center">
 			<translatableAttribute id="caption">Name</translatableAttribute>
 		</object>
 		<object name="diplomacyHeaderCiv" size="150 0 250 100%" type="text" style="DiplomacyText" ghost="true">
 			<translatableAttribute id="caption">Civilization</translatableAttribute>
 		</object>
@@ -39,13 +39,14 @@
 			<translatableAttribute id="caption">Tribute</translatableAttribute>
 		</object>
 	</object>
 
 	<object size="32 64 100%-32 384">
-		<repeat count="16" var="n">
+		<repeat count="8" var="n">
 			<object name="diplomacyPlayer[n]" size="0 0 100% 20" type="image" hidden="false">
-				<object name="diplomacyPlayerName[n]" size="0 0 150 100%" type="text" style="DiplomacyText" ghost="true"/>
+				<object name="diplomacyPlayerOutcome[n]" type="image" size="0 0 25 100%" tooltip_style="sessionToolTipBold"/>
+				<object name="diplomacyPlayerName[n]" size="25 0 150 100%" type="text" style="DiplomacyText" ghost="true"/>
 				<object name="diplomacyPlayerCiv[n]" size="150 0 250 100%" type="text" style="DiplomacyText" ghost="true"/>
 				<object name="diplomacyPlayerTeam[n]" size="250 0 300 100%" type="text" style="DiplomacyText" ghost="true"/>
 				<object name="diplomacyPlayerTheirs[n]" size="300 0 360 100%" type="text" style="DiplomacyText" ghost="true"/>
 
 				<!-- Diplomatic stance - selection -->
Index: binaries/data/mods/public/gui/session/menu.js
===================================================================
--- binaries/data/mods/public/gui/session/menu.js	(revision 18979)
+++ binaries/data/mods/public/gui/session/menu.js	(working copy)
@@ -344,10 +344,12 @@ function diplomacySetupTexts(i, rowsize)
 	size.bottom = rowsize * i;
 	row.size = size;
 
 	row.sprite = "color: " + rgbToGuiColor(g_Players[i].color) + " 32";
 
+	setOutcomeIcon(g_Players[i].state, "diplomacyPlayerOutcome["+(i-1)+"]");
+
 	Engine.GetGUIObjectByName("diplomacyPlayerName["+(i-1)+"]").caption = colorizePlayernameByID(i);
 	Engine.GetGUIObjectByName("diplomacyPlayerCiv["+(i-1)+"]").caption = g_CivData[g_Players[i].civ].Name;
 
 	Engine.GetGUIObjectByName("diplomacyPlayerTeam["+(i-1)+"]").caption =
 		g_Players[i].team < 0 ? translateWithContext("team", "None") : g_Players[i].team+1;
Index: binaries/data/mods/public/gui/summary/summary.js
===================================================================
--- binaries/data/mods/public/gui/summary/summary.js	(revision 18979)
+++ binaries/data/mods/public/gui/summary/summary.js	(working copy)
@@ -116,21 +116,11 @@ function updatePanelData(panelInfo)
 
 		let boxSize = rowPlayerObject.size;
 		boxSize.right = rowPlayerObjectWidth;
 		rowPlayerObject.size = boxSize;
 
-		let outcome = Engine.GetGUIObjectByName(playerOutcome);
-		if (playerState.state == "won")
-		{
-			outcome.sprite = "stretched:session/icons/stances/violent.png";
-			outcome.tooltip = translate("Victory");
-		}
-		else if (playerState.state == "defeated")
-		{
-			outcome.sprite = "stretched:session/icons/stances/passive.png";
-			outcome.tooltip = translate("Defeated");
-		}
+		setOutcomeIcon(playerState.state, playerOutcome);
 
 		Engine.GetGUIObjectByName(playerNameColumn).caption = g_GameData.sim.playerStates[i+1].name;
 
 		let civIcon = Engine.GetGUIObjectByName(playerCivicBoxColumn);
 		civIcon.sprite = "stretched:" + g_CivData[playerState.civ].Emblem;
Index: binaries/data/mods/public/gui/summary/summary.xml
===================================================================
--- binaries/data/mods/public/gui/summary/summary.xml	(revision 18979)
+++ binaries/data/mods/public/gui/summary/summary.xml	(working copy)
@@ -2,10 +2,11 @@
 
 <objects>
 	<script file="gui/common/functions_global_object.js"/>
 	<script file="gui/common/functions_civinfo.js"/>
 	<script file="gui/common/functions_utility.js"/>
+	<script file="gui/common/gamedescription.js"/>
 	<script file="gui/common/settings.js"/>
 
 	<!-- After settings.js, which defines g_Settings and g_MaxPlayers. -->
 	<script file="gui/summary/counters.js"/>
 	<script file="gui/summary/summary.js"/>
