anchor.diff:                                 lists:zip(lists:seq(0,(length(PLS0)-1)), PLS0)),
       {_, PLS} = lists:unzip(LA1 ++ LA2),
       Simul_PLS = trunc(length(PLS) / N),
  -    Listers = start_listers(ReqId, Input),
  +    Listers = start_listers(ReqId, Input, Timeout),
       StateData = StateData0#state{pls=PLS,simul_pls=Simul_PLS, listers=Listers,
                                    wait_pls=[],vns=sets:from_list([])},
  -    reduce_pls(StateData).
  +    %% Make sure there are actually some nodes available
  +    %% to perform the key listing operations.
  +    case Listers of 
  +        [] ->
  +            %% No nodes are currently available so return
  +            %% an error back to the requesting party.
  +            finish(StateData);
  +        _ ->
  +            reduce_pls(StateData)
  +    end.
   
   waiting_kl({ReqId, {kl, _Idx, Keys}},
              StateData=#state{bloom=Bloom,
  
positive.code:     {ok, StateName, State}.
  
  %% @private
  start_listers(ReqId, Bucket) ->
      Nodes = riak_core_node_watcher:nodes(riak_kv),
      start_listers(Nodes, ReqId, Bucket, []).
  
  start_listers([], _ReqId, _Bucket, Accum) ->
      Accum;
  start_listers([H|T], ReqId, Bucket, Accum) ->
      {ok, Pid} = riak_kv_keylister_master:start_keylist(H, ReqId, Bucket),
      start_listers(T, ReqId, Bucket, [{H, Pid}|Accum]).
  
negative.code:     {ok,initialize,StateData,0}.
  
  %% @private
  initialize(timeout, StateData0=#state{input=Input, bucket=Bucket, ring=Ring, req_id=ReqId, timeout=Timeout}) ->
      BucketProps = riak_core_bucket:get_bucket(Bucket, Ring),
      N = proplists:get_value(n_val,BucketProps),
      PLS0 = riak_core_ring:all_preflists(Ring,N),
  