anchor.diff:  
      Blky.GetBlkByID(Self.fproperties.Vyhybky[Self.fstaveni.nextVyhybka].Blok, Blk);
      Inc(Self.fstaveni.nextVyhybka);
  -   (Blk as TBlkVyhybka).SetPoloha(TVyhPoloha(Self.fproperties.Vyhybky[Self.fstaveni.nextVyhybka-1].Poloha),
  -                                  true, false, Self.VyhPrestavenaNC, Self.VyhNeprestavenaNC);
  -  end else begin
  -   if (Self.fstaveni.nextVyhybka < Self.fproperties.Vyhybky.Count+Self.fproperties.Odvraty.Count) then
  +
  +   if ((Blk as TBlkVyhybka).Poloha <> TVyhPoloha.disabled) then
       begin
  -     // nastaveni odvratu
  -     // Tady staci postavit jen jednu vyhybku, protoze jeji uzamceni opet zavola
  -     // tuto udalost.
  -
  -     odvrat := Self.fstaveni.nextVyhybka - Self.fproperties.Vyhybky.Count;
  -
  -     Blky.GetBlkByID(Self.fproperties.Odvraty[odvrat].Blok, Blk);
  -     Inc(Self.fstaveni.nextVyhybka);
  +     (Blk as TBlkVyhybka).SetPoloha(TVyhPoloha(Self.fproperties.Vyhybky[Self.fstaveni.nextVyhybka-1].Poloha),
  +                                    true, false, Self.VyhPrestavenaNC, Self.VyhNeprestavenaNC);
  +     break;
  +    end;
  +  end;
  +
  + while ((Self.fstaveni.nextVyhybka >= Self.fproperties.Vyhybky.Count) and
  +        (Self.fstaveni.nextVyhybka < Self.fproperties.Vyhybky.Count+Self.fproperties.Odvraty.Count)) do
  +  begin
  +   // nastaveni odvratu
  +   // Tady staci postavit jen jednu vyhybku, protoze jeji uzamceni opet zavola
  +   // tuto udalost.
  +
  +   odvrat := Self.fstaveni.nextVyhybka - Self.fproperties.Vyhybky.Count;
  +
  +   Blky.GetBlkByID(Self.fproperties.Odvraty[odvrat].Blok, Blk);
  +   Inc(Self.fstaveni.nextVyhybka);
  +
  +   if ((Blk as TBlkVyhybka).Poloha <> TVyhPoloha.disabled) then
  +    begin
        TBlkVyhybka(Blk).SetPoloha(TVyhPoloha(Self.fproperties.Odvraty[odvrat].Poloha),
                                   true, false, Self.VyhPrestavenaNC, Self.VyhNeprestavenaNC);
  +     break;
       end;
     end;
   
  - if (Self.fstaveni.nextVyhybka = Self.fproperties.Vyhybky.Count+Self.fproperties.Odvraty.Count) then
  -   Self.fstaveni.nextVyhybka := -1;
  +  if (Self.fstaveni.nextVyhybka = Self.fproperties.Vyhybky.Count+Self.fproperties.Odvraty.Count) then
  +    Self.fstaveni.nextVyhybka := -1;
   end;
   
   ////////////////////////////////////////////////////////////////////////////////
  
positive.code:           bariery.Add(Self.JCBariera(_JCB_USEK_OBSAZENO, Blk2, Blk2.id));
         end;
       end;
     end;//for i
  
    // kontrola trati
    if (Self.fproperties.Trat > -1) then
     begin
      Blky.GetBlkByID(Self.fproperties.Trat, Blk);
      glob := Blk.GetGlobalSettings();
  
      cont := true;
      if ((blk as TBlkTrat).ZAK) then
  
negative.code:     Self.fstaveni.nextVyhybka := -1;
      stavim := 0;
      nextVyhybka := -1;
  
      for i := 0 to Self.fproperties.Vyhybky.Count-1 do
       begin
        vyhZaver := Self.fproperties.Vyhybky[i];
        Blky.GetBlkByID(vyhZaver.Blok, TBlk(vyhybka));
  
        if (vyhybka.Poloha <> TVyhPoloha.disabled) then
         begin
          if (stavim >= _JC_MAX_VYH_STAVENI) then
           begin
            nextVyhybka := i;
            break;
           end;
          Inc(stavim);
  
          vyhybka.SetPoloha(TVyhPoloha(vyhZaver.Poloha),
                            true, false, Self.VyhPrestavenaNC, Self.VyhNeprestavenaNC);
         end;
       end;
  
      if (nextVyhybka = -1) then
       begin
        for i := 0 to Self.fproperties.Odvraty.Count-1 do
         begin
          odvratZaver := Self.fproperties.Odvraty[i];
          Blky.GetBlkByID(odvratZaver.Blok, TBlk(vyhybka));
  
          if (vyhybka.Poloha <> TVyhPoloha.disabled) then
           begin
            if (stavim >= _JC_MAX_VYH_STAVENI) then
             begin
              nextVyhybka := i;
              break;
             end;
            Inc(stavim);
  
            vyhybka.SetPoloha(TVyhPoloha(odvratZaver.Poloha),
                              true, false, Self.VyhPrestavenaNC, Self.VyhNeprestavenaNC);
           end;
         end;
       end;
  
      Self.fstaveni.nextVyhybka := nextVyhybka;
  