diff -r 8e8b320eefad -r aba9ae27ead0 hedgewars/uGearsList.pas --- a/hedgewars/uGearsList.pas Mon Dec 08 10:14:47 2014 -0500 +++ b/hedgewars/uGearsList.pas Mon Dec 08 10:24:06 2014 -0500 @@ -660,7 +660,7 @@ end else*) begin - if (Gear <> CurrentHedgehog^.Gear) or (CurAmmoGear = nil) or (CurAmmoGear^.Kind <> gtKamikaze) then + if ((CurrentHedgehog = nil) or (Gear <> CurrentHedgehog^.Gear)) or (CurAmmoGear = nil) or (CurAmmoGear^.Kind <> gtKamikaze) then Gear^.Hedgehog^.Team^.Clan^.Flawless:= false; if CheckCoordInWater(hwRound(Gear^.X), hwRound(Gear^.Y)) then begin @@ -671,7 +671,7 @@ end; team:= Gear^.Hedgehog^.Team; - if CurrentHedgehog^.Gear = Gear then + if (CurrentHedgehog <> nil) and (CurrentHedgehog^.Gear = Gear) then begin AttackBar:= 0; FreeActionsList; // to avoid ThinkThread on drawned gear @@ -700,7 +700,7 @@ // same stand for CheckHHDamage if (Gear^.LastDamage <> nil) then uStats.HedgehogDamaged(Gear, Gear^.LastDamage, 0, true) - else + else if CurrentHedgehog <> nil then uStats.HedgehogDamaged(Gear, CurrentHedgehog, 0, true); inc(KilledHHs);