anchor.diff:  var
     TmpSelected: TObject;
   begin
  -  TmpSelected := Selected; //We do not want to change Selected object actually, just update fIsSelectedMyObj field is good enought
  +  //We do not want to change Selected object actually, just update fIsSelectedMyObj field is good enought
  +  TmpSelected := Selected;
     UpdateNewSelected(TmpSelected);
   end;
   
  
positive.code:   if NewSelected is TKMUnitWarrior then
    begin
      NewSelected := gHands.GetGroupByMember(TKMUnitWarrior(NewSelected));
  
      if not (gGame.GameMode in [gmMultiSpectate, gmMapEd, gmReplaySingle, gmReplayMulti]) then
        UpdateNewSelected(NewSelected);
    end;
  
    //Update selected groups selected unit
  
negative.code: var
    OwnerIndex: TKMHandID;
  begin
    if gGame.GameMode in [gmMultiSpectate, gmMapEd, gmReplaySingle, gmReplayMulti] then
      Exit;
  
    OwnerIndex := GetGameObjectOwnerIndex(aNewSelected);
    if OwnerIndex <> -1 then
    begin
  