anchor.diff:  
    if (Self.fstaveni.nextVyhybka < Self.fproperties.Vyhybky.Count+Self.fproperties.Odvraty.Count) then
     begin
  +   // stavim dalsi odvrat
      odvrat := Self.fstaveni.nextVyhybka - Self.fproperties.Vyhybky.Count;
      for i := odvrat to Self.fproperties.Odvraty.Count-1 do
       begin
        // nastaveni odvratu
        Blky.GetBlkByID(Self.fproperties.Odvraty[i].Blok, Blk);
  -     if (not (Blk as TBlkVyhybka).Stav.locked) then
  +     if ((Blk as TBlkVyhybka).Poloha <> TVyhPoloha(Self.fproperties.Odvraty[i].Poloha)) then
         begin
          TBlkVyhybka(Blk).RedukujMenu();
          TBlkVyhybka(Blk).SetPoloha(TVyhPoloha(Self.fproperties.Odvraty[i].Poloha),
                                     true, false, Self.VyhPrestavenaJCPC, Self.VyhNeprestavenaJCPC);
  -       if ((Blk as TBlkVyhybka).Poloha <> TVyhPoloha(Self.fproperties.Odvraty[i].Poloha)) then
  -        begin
  -         Inc(Self.fstaveni.nextVyhybka);
  -         Exit();
  -        end;
  +       Self.fstaveni.nextVyhybka := i+1;
  +       Exit();
         end;
       end;
   
  
positive.code:                                   true, false, Self.VyhPrestavenaNC, Self.VyhNeprestavenaNC);
         if ((Blk as TBlkVyhybka).Poloha <> TVyhPoloha(Self.fproperties.Odvraty[i].Poloha)) then
          begin
           Inc(Self.fstaveni.nextVyhybka);
           Exit();
          end;
        end;
  
negative.code:                                       true, false, Self.VyhPrestavenaNC, Self.VyhNeprestavenaNC);
         if ((Blk as TBlkVyhybka).Poloha <> TVyhPoloha(Self.fproperties.Vyhybky[i].Poloha)) then
          begin
           Self.fstaveni.nextVyhybka := i+1;
           Exit();
          end;
        end;
  