anchor.diff:              ?debug("One pred already in backtrack.\n"),
               {done, PreSI};
           false ->
  -            case ordsets:intersection(Predecessor, Candidates) of
  -                [OneP|_] ->
  -                    ?debug(" Add as 'choose-one': ~p\n", [OneP]),
  -                    Add = [{OneP, dummy, []}],
  -                    {done, PreSI#trace_state{backtrack = Backtrack ++ Add}};
  -                [] -> continue
  -            end
  +            Added =
  +                case Predecessor of
  +                    [OneP] ->
  +                        ?debug(" Add as 'choose-one': ~p\n", [OneP]),
  +                        [{OneP, dummy, []}];
  +                    [] ->
  +                        ?debug(" Add as 'choose every': ~p\n", [Candidates]),
  +                        New = ordsets:subtract(Candidates, BacktrackSet),
  +                        [{P, dummy, []} || P <- New]
  +                end,
  +            ?debug("    Added: ~p\n",[Added]),
  +            {done, PreSI#trace_state{backtrack = Backtrack ++ Added}}
       end.
   
   %% --------------------------------------
  
positive.code:                                                                  Backtrack)),
                                      case
                                          Flavor =:= ?FULL orelse
                                          Flavor =:= none
                                      of
                                          true -> NB;
  
negative.code:                         {Predecessor, _Initial} =
                              find_preds_and_initials(Lid, ProcSI, Candidates,
                                                      I, ClockVector, Acc),
                          decide_classic(Predecessor, Backtrack, Candidates,
                                         PreSI)
                  end
          end,
      case Action of
  