anchor.diff:      Blky.GetBlkByID(odvratZaver.Blok, Blk);
       glob := Blk.GetGlobalSettings();
   
  +    if ((Blk as TBlkVyhybka).Stav.poloha = TVyhPoloha.disabled) then
  +      bariery.Add(Self.JCBariera(_JCB_BLOK_DISABLED, Blk, Blk.id));
  +
       // kontrola koncove polohy:
  -    if ((Integer((Blk as TBlkVyhybka).poloha) < 0) or (Integer((Blk as TBlkVyhybka).poloha) > 1)) then
  -      bariery.Add(Self.JCBariera(_JCB_ODVRAT_KONC_POLOHA, blk, odvratZaver.Blok));
  +    if (((Blk as TBlkVyhybka).poloha = TVyhPoloha.none) or ((Blk as TBlkVyhybka).poloha = TVyhPoloha.both)) then
  +      bariery.Add(Self.JCBariera(_JCB_VYHYBKA_KONC_POLOHA, Blk, Blk.id));
   
       // kontrola vyluky vyhybky:
       if ((Blk as TBlkVyhybka).Vyluka <> '') then
  
positive.code:     if (blk.typ <> btTrat) then
       begin
        Result.Insert(0, Self.JCBariera(_JCB_BLOK_NOT_TYP, blk, Self.fproperties.Trat));
        Exit;
       end;
      // blok disabled
      if ((Blk as TBlkTrat).stav.smer = TTratSmer.disabled) then
       begin
        Result.Add(Self.JCBariera(_JCB_BLOK_DISABLED, Blk, Blk.id));
        Exit;
       end;
     end;
  
negative.code:    begin
      Blky.GetBlkByID(Self.fproperties.Useky[i], Blk);
      glob := Blk.GetGlobalSettings();
  
      if ((Blk as TBlkUsek).Stav.Stav = TUsekStav.disabled) then
        bariery.Add(Self.JCBariera(_JCB_BLOK_DISABLED, Blk, Blk.id));
  
      // obsazenost
      if ((i <> Self.fproperties.Useky.Count-1) or (Self.fproperties.TypCesty <> TJCType.posun)) then
  