anchor.diff:                              lists:last(lists:sort(P_i#projection_v1.upi))
                       end,
                   P_i2 = P_i#projection_v1{author_server=BiggestUPIMember},
  -                P_inner = case lists:member(MyName, AllHosed) of
  +                P_inner = case lists:member(MyName, AllHosed) andalso
  +                               CMode == ap_mode
  +                          of
                                 false ->
                                     P_i2;
                                 true ->
  
positive.code:             %% inner to outer projections, the partition situation has
              %% altered significantly.  Use calc_projection() to find out what
              %% nodes are down *now* (as best as we can tell right now).
              {P_o, S_o} = calc_projection(unused, unused,
                                           P_inner2B, MyName, [], [], S10),
              react_to_env_A40(Retries, P_o, P_latest, LatestUnanimousP, S_o);
         true ->
              ?REACT({a30, ?LINE, []}),
  
negative.code:             {_, P_newprop3_flap_count} when P_newprop3_flap_count >= FlapLimit ->
                  AllHosed = get_all_hosed(P_newprop3),
                  P_current_inner = inner_projection_or_self(P_current),
                  {P_i, S_i, _Up} = calc_projection(unused, unused,
                                                    P_current_inner,
                                                    MyName, AllHosed, [], S3),
                  ?REACT({a30, ?LINE, [{raw_all_hosed,get_all_hosed(P_newprop3)},
                                      {up, Up},
                                      {all_hosed, AllHosed},
                                      {p_c_i, machi_projection:make_summary(P_current_inner)},
                                      {p_i,machi_projection:make_summary(P_i)}]}),
                  %% The inner projection will have a fake author, which
                  %% everyone will agree is the largest UPI member's
                  %% name.
  