anchor.diff:              //Squad.TargetHouse := nil; // This cause same problem like with archers
             end;
             AvailableSquads[GT].Squads[ AvailableSquads[GT].Count ] := Squad;
  -          AvailableSquads[GT].Count := AvailableSquads[GT].Count + 1;
  +          Inc(AvailableSquads[GT].Count);
           end;
         end;
     end;
  
positive.code:     FinPos := fTargetUnit.GetPosition;
      if PlanPath(ActPos, FinPos, True, False) then
        Group.OrderWalk(FinPos, True, wtokAISquad, FinalPosition.Dir)
      else if (fGroup.GroupType <> gt_Ranged) OR (fTargetChanged AND (fAttackTimeLimit < aTick)) then
      begin
        fAttackTimeLimit := aTick + RANGE_AIM_DELAY;
        fTargetChanged := False;
        Group.OrderAttackUnit(fTargetUnit, True);
      end;
  
negative.code:         end;
        if (BestDist <> INIT_THREAT) then
        begin
          Inc(GroupAttackCnt[TargetIdx], AvailableSquads[GT].Squads[I].Group.Count);
          // Find and kill workers who want to repair house
          U := gAIFields.Eye.GetClosestUnitAroundHouse(HA[TargetIdx].HouseType, HA[TargetIdx].GetPosition, AvailableSquads[GT].Squads[I].Position);
          if (U <> nil) then
  