diff server/unithand.c server/unithand.c
--- server/unithand.c	Sat Aug 19 23:29:51 2000
+++ server/unithand.c	Mon Aug 21 04:03:30 2000
@@ -596,10 +596,13 @@
   combat.attacker_hp=punit->hp / game.firepower_factor;
   combat.defender_hp=pdefender->hp / game.firepower_factor;
   combat.make_winner_veteran=pwinner->veteran?1:0;
+  lsend_packet_unit_combat(&game.players[pwinner->owner].connections, &combat);
+  combat.make_winner_veteran=0;
   
   for(o=0; o<game.nplayers; o++)
-    if(map_get_known_and_seen(punit->x, punit->y, o) ||
-       map_get_known_and_seen(def_x, def_y, o))
+    if(o != pwinner->owner &&
+       (map_get_known_and_seen(punit->x, punit->y, o) ||
+        map_get_known_and_seen(def_x, def_y, o)))
       lsend_packet_unit_combat(&game.players[o].connections, &combat);
   conn_list_iterate(game.game_connections, pconn) {
     if (!pconn->player && pconn->observer) {