             maxTowers = Math.max(maxTowers, towerCount);
             drawTowerBoxes();
 
+            for each (var unitBox:DrawHUDUnit in unitBoxes) {
+                unitBox.setCount(controller.currentState.getUnitCount(unitBox.getType(), team));
+            }
+
             for each (var buildingBox:DrawHUDUnit in buildingBoxes) {
                 buildingBox.setCount(controller.currentState.getUnitCount(buildingBox.getType(), team));
             }
+
+            drawUnitCounts();
             drawBuildingCounts();
-
-            for each (var unitBox:DrawHUDUnit in unitBoxes) {
-                unitBox.setCount(controller.currentState.getUnitCount(unitBox.getType(), team));
-            }
-            drawUnitCounts();
 
             if (controller.currentRound == controller.match.getRounds()) {
                 drawWinMarkers();

            }
        }

        private function drawBuildingCounts():void {
            var towerBoxTop:Number = Math.ceil(maxTowers / 3.0) * (DrawHUDTower.HEIGHT + 10);
            var top:Number = hqBox.height + hqBox.y + towerBoxTop + 10;
            buildingLabel.y = top + 10;
            top = buildingLabel.height + buildingLabel.y + 5;
            var i:uint = 0;

            repositionWinMarkers();
            resizeHQBox();
            drawTowerBoxes();
            drawUnitCounts();
            drawBuildingCounts();
        }

        private function onRoundChange(e:MatchEvent):void {
