anchor.diff:              %% This node is not in the preference list
               %% forward on to the first node
               [{{_Idx, CoordNode},_Type}|_] = Preflist2,
  -            case riak_kv_put_fsm_sup:start_put_fsm(CoordNode, [From, RObj, Options]) of
  +            Timeout = get_option(timeout, Options, ?DEFAULT_TIMEOUT),
  +            case rpc:call(CoordNode,riak_kv_put_fsm_sup,start_put_fsm,[CoordNode,[From,RObj,Options]],Timeout) of
                   {ok, _Pid} ->
                       riak_kv_stat:update(coord_redir),
                       {stop, normal, StateData0};
  -                {error, Reason} ->
  +                {_, Reason} -> % {error,_} or {badrpc,_}
                       lager:error("Unable to forward put for ~p to ~p - ~p\n",
                                   [BKey, CoordNode, Reason]),
                       process_reply({error, {coord_handoff_failed, Reason}}, StateData0)
  
positive.code: 
  init_putcore(State = #state{n = N, w = W, dw = DW, allowmult = AllowMult,
                              returnbody = ReturnBody}) ->
      PutCore = riak_kv_put_core:init(N, W, DW, 
                                      N-W+1,   % cannot ever get W replies
                                      N-DW+1,  % cannot ever get DW replies
                                      AllowMult,
  
negative.code:     end.
  
  %% @private
  %% Send the put requests to any remote nodes if necessary and decided if
  %% enough responses have been received yet (i.e. if W/DW=1)
  %% N.B. Not actually a state - here in the source to make reading the flow easier
  execute_remote(StateData=#state{robj=RObj, req_id = ReqId,
  