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