anchor.diff:          false -> {newobj, ResObj}
       end.
   
  -expect(H, N, W, DW, AllowMult, Options) ->
  -    ReturnObj = case proplists:get_value(returnbody, Options, false) of
  -                    true ->
  -                        expect_object(H, W, DW, AllowMult);
  -                    false ->
  -                        noreply
  -                end,
  -    case {H, N, W, DW} of
  -        %% Workaround for bug transitioning from awaiting_w to awaiting_dw
  -        {[{w,_,_},{dw,_,_},{w,_,_},{fail,_,_}], 2, 2, 1} ->
  -            {error, timeout};
  -        {[{w,_,_},{dw,_,_},{w,_,_},{{timeout,_},_,_}], 2, 2, 1} ->
  -            {error, timeout};
  -        _ ->
  -            HNoTimeout = filter_timeouts(H),
  -            expect(HNoTimeout, {H, N, W, DW, 0, 0, 0, ReturnObj})
  +expect(H, N, W, DW, AllowMult, Options, Precommit) ->
  +    case precommit_should_fail(Precommit) of
  +        {true, Expect} ->
  +            Expect;
  +        
  +        false ->
  +            {EffDW, ReturnObj} = case proplists:get_value(returnbody, Options, false) of
  +                                     true ->
  +                                         %% If returnbody is set, DW is set to a minimum
  +                                         %% of 1 to make the vnode return a response
  +                                         EffDW0 = erlang:max(1, DW),
  +                                         {EffDW0, expect_object(H, W, EffDW0, AllowMult)};
  +                                     false ->
  +                                         {DW, noreply}
  +                                 end,
  +            case {H, N, W, EffDW} of
  +                %% Workaround for bug transitioning from awaiting_w to awaiting_dw
  +                {[{w,_,_},{dw,_,_},{w,_,_},{fail,_,_}], 2, 2, 1} ->
  +                    {error, timeout};
  +                {[{w,_,_},{dw,_,_},{w,_,_},{{timeout,_},_,_}], 2, 2, 1} ->
  +                    {error, timeout};
  +                _ ->
  +                    HNoTimeout = filter_timeouts(H),
  +                    expect(HNoTimeout, {H, N, W, EffDW, 0, 0, 0, ReturnObj})
  +            end
       end.
   
   expect([], {_H, _N, _W, _DW, _NumW, _NumDW, _NumFail, _RObj}) ->
  
positive.code:         Res = fsm_eqc_util:wait_for_req_id(?REQ_ID),
          H = get_fsm_qc_vnode_master:get_reply_history(),
  
          Expected = expect(H, N, W, DW, AllowMult, Options),
          ?WHENFAIL(
             begin
                 io:format(user, "NodeStatus: ~p\n", [NodeStatus]),
  
negative.code:        ?_assertMatch({ok,_C}, riak:local_client()),
         %% Run the quickcheck tests
         {timeout, 60000, % do not trust the docs - timeout is in msec
          ?_assertEqual(true, quickcheck(numtests(250, ?QC_OUT(prop_basic_put()))))}
        ]
      }.
        %]}.
  
  