diff --git a/binaries/data/mods/public/gui/summary/.summary.js.swp b/binaries/data/mods/public/gui/summary/.summary.js.swp
new file mode 100644
index 0000000..0ae8bf3
Binary files /dev/null and b/binaries/data/mods/public/gui/summary/.summary.js.swp differ
diff --git a/binaries/data/mods/public/gui/summary/summary.js b/binaries/data/mods/public/gui/summary/summary.js
index 186d371..0d9ee5b 100644
--- a/binaries/data/mods/public/gui/summary/summary.js
+++ b/binaries/data/mods/public/gui/summary/summary.js
@@ -91,6 +91,8 @@ function init(data)
 	getGUIObjectByName("militaryScoreHeading").size = left +  " 16 " + (left + width) + " 100%"; left += width;
 	getGUIObjectByName("explorationScoreHeading").size = left +  " 16 " + (left + width) + " 100%"; left += width;
 	getGUIObjectByName("totalScoreHeading").size = left +  " 16 " + (left + width) + " 100%"; left += width;
+	getGUIObjectByName("teamHeading").size = left +  " 16 " + (left + width) + " 100%"; left += width;
+	getGUIObjectByName("teamScoreHeading").size = left +  " 16 " + (left + width) + " 100%"; left += width;
 	
 	left = 50;
 	getGUIObjectByName("playerName1Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth;
@@ -127,6 +129,34 @@ function init(data)
 	getGUIObjectByName("barterEfficiencyHeading").size = left + " 16 " + (left + width) + " 100%"; left += width;
 	getGUIObjectByName("tradeIncomeHeading").size = left + " 16 " + (left + width) + " 100%"; left += width;
 
+	//Calculate player scores and team scores.
+	//playerScoresWhatever[i] stores the scores for the player i.
+	var playerScoreValueEconomy = new Array();
+	var playerScoreValueMilitary = new Array();
+	var playerScoreValueExploration = new Array();
+	var playerScoreValueTotal = new Array();
+	var teamScoreValue = new Array();
+	for (var i = 0; i < maxPlayers; ++i)
+	{
+		teamScoreValue[i] = 0;
+	}
+	for (var i = 0; i < maxPlayers; ++i)
+	{
+		var playerState = data.playerStates[i+1];
+		playerScoreValueEconomy[i] = Math.round((playerState.statistics.resourcesGathered.food
+			+ playerState.statistics.resourcesGathered.wood +
+			playerState.statistics.resourcesGathered.stone +
+			playerState.statistics.resourcesGathered.metal) / 10);
+		playerScoreValueMilitary[i] = Math.round((playerState.statistics.enemyUnitsKilledValue
+			+ playerState.statistics.enemyBuildingsDestroyedValue) / 10);
+		playerScoreValueExploration[i] = playerState.statistics.percentMapExplored * 10;
+		playerScoreValueTotal[i] = playerScoreValueEconomy[i] + playerScoreValueMilitary[i] + playerScoreValueExploration[i];
+		if (playerState.team != -1)
+		{
+			teamScoreValue[playerState.team] += playerScoreValueTotal[i] + playerState.statistics.tradeIncome;
+		}
+	}
+
 	// Show counters
 	for (var i = 0; i < MAX_SLOTS; ++i)
 	{
@@ -160,6 +190,8 @@ function init(data)
 			var militaryScore = getGUIObjectByName("militaryScore["+i+"]");
 			var explorationScore = getGUIObjectByName("explorationScore["+i+"]");
 			var totalScore = getGUIObjectByName("totalScore["+i+"]");
+			var team = getGUIObjectByName("team["+i+"]");
+			var teamScore = getGUIObjectByName("teamScore["+i+"]");
 
 			var unitsTrained = getGUIObjectByName("unitsTrained["+i+"]");
 			var unitsLost = getGUIObjectByName("unitsLost["+i+"]");
@@ -195,6 +227,8 @@ function init(data)
 			militaryScore.size = left + " 2 " + (left + width) + " 100%"; left += width;
 			explorationScore.size = left + " 2 " + (left + width) + " 100%"; left += width;
 			totalScore.size = left + " 2 " + (left + width) + " 100%"; left += width;
+			team.size = left + " 2 " + (left + width) + " 100%"; left += width;
+			teamScore.size = left + " 2 " + (left + width) + " 100%"; left += width;
 			var size = getGUIObjectByName("playerBox0["+i+"]").size;
 			size.right = left + 10;
 			getGUIObjectByName("playerBox0["+i+"]").size = size;
@@ -242,11 +276,17 @@ function init(data)
 			getGUIObjectByName("playerBox4["+i+"]").size = size;
 
 			// display counters
-			economyScore.caption = Math.round((playerState.statistics.resourcesGathered.food + playerState.statistics.resourcesGathered.wood + 
-				playerState.statistics.resourcesGathered.stone + playerState.statistics.resourcesGathered.metal) / 10);
-			militaryScore.caption = Math.round((playerState.statistics.enemyUnitsKilledValue + playerState.statistics.enemyBuildingsDestroyedValue) / 10);
-			explorationScore.caption = playerState.statistics.percentMapExplored * 10;
-			totalScore.caption = Number(economyScore.caption) + Number(militaryScore.caption) + Number(explorationScore.caption);
+			economyScore.caption = playerScoreValueEconomy[i];
+			militaryScore.caption = playerScoreValueMilitary[i];
+			explorationScore.caption = playerScoreValueExploration[i];
+			totalScore.caption = playerScoreValueTotal[i];
+			if (playerState.team == -1) {
+				team.caption = 'None'
+				teamScore.caption = totalScore.caption;
+			} else {
+				team.caption = playerState.team + 1;
+				teamScore.caption = teamScoreValue[playerState.team];
+			}
 			
 			unitsTrained.caption = playerState.statistics.unitsTrained;
 			unitsLost.caption = playerState.statistics.unitsLost;
diff --git a/binaries/data/mods/public/gui/summary/summary.xml b/binaries/data/mods/public/gui/summary/summary.xml
index 718d1ff..0cbc70d 100644
--- a/binaries/data/mods/public/gui/summary/summary.xml
+++ b/binaries/data/mods/public/gui/summary/summary.xml
@@ -100,6 +100,12 @@
 				<object name="totalScoreHeading" type="text" style="CenteredTabLabelText">
 					Total&#10;score
 				</object>
+				<object name="teamHeading" type="text" style="CenteredTabLabelText">
+					Team
+				</object>
+				<object name="teamScoreHeading" type="text" style="CenteredTabLabelText">
+					Team&#10;score
+				</object>
 			</object>
 
 			<object size="0 65 100% 100%-50">
@@ -112,6 +118,8 @@
 						<object name="militaryScore[n]" 			type="text" style="CenteredLabelText"/>
 						<object name="explorationScore[n]" 			type="text" style="CenteredLabelText"/>
 						<object name="totalScore[n]" 				type="text" style="CenteredLabelText"/>
+						<object name="team[n]" 				type="text" style="CenteredLabelText"/>
+						<object name="teamScore[n]" 				type="text" style="CenteredLabelText"/>
 					</object>
 				</repeat>
 			</object>
