anchor.diff:             (((Blk2 as TBlkUsek).InTrat = -1) and ((Blk2 as TBlkUsek).Stav.stanicni_kolej) or
              (((Blk2 as TBlkUsek).InTrat = Self.data.Trat) and ((Trat as TBlkTrat).Smer = Self.data.TratSmer) and ((Trat as TBlkTrat).BP)))) then
          begin
  -        if ((Blk as TBlkUsek).InTrat > -1) then
  -         begin
  -          Blky.GetBlkByID((Blk as TBlkUsek).InTrat, trat);
  -          (Trat as TBlkTrat).RemoveSpr((Blk as TBlkUsek).Souprava);
  -         end;
           if (Trat <> nil) then
            begin
             (Trat as TBlkTrat).AddSpr((Blk as TBlkUsek).Souprava);
             (Blk2 as TBlkUsek).Zaver := TJCType.nouz;
             (Trat as TBlkTrat).Change();
  +         end;
  +        if ((Blk as TBlkUsek).InTrat > -1) then
  +         begin
  +          Blky.GetBlkByID((Blk as TBlkUsek).InTrat, Trat);
  +          (Trat as TBlkTrat).RemoveSpr((Blk as TBlkUsek).Souprava);
            end;
   
           (Blk2 as TBlkUsek).Souprava := (Blk as TBlkUsek).Souprava;
  
positive.code:             writelog('Krok 101: trat: nastaven smer', WR_VC);
              (Blk as TBlkTrat).Smer := Self.fproperties.TratSmer;
             end;
         end;
       end;
  
  
negative.code:             if (((Blk as TBlkTrat).uvazkaB as TBlkUvazka).OblsRizeni.ORs[0] = (Navestidlo as TBlkSCom).OblsRizeni.ORs[i]) then
                 ((Blk as TBlkTrat).uvazkaB as TBlkUvazka).nouzZaver := true;
           end;
         end;
  
        // nastavit vyhybky do pozadovanych poloh:
  