anchor.diff:              case etorrent_chunk_mgr:pick_chunks(S#state.torrent_id,
                                                   S#state.piece_set,
                                                   PiecesToQueue) of
  -                not_interested -> {ok, statechange_interested(S, false)};
  +                not_interested ->
  +                    statechange_interested(S#state.local_interested, S#state.send_pid, false),
  +                    {ok, S#state{local_interested = false}};
                   none_eligible -> {ok, S};
                   {ok, Items} -> queue_items(Items, S);
                   {endgame, Items} -> queue_items(Items, S#state { endgame = true })
  
positive.code:     end,
      case etorrent_piece_mgr:check_interest(Torrent_Id, PieceSet) of
          {interested, Pruned} ->
              {ok, statechange_interested(S#state {piece_set = gb_sets:from_list(Pruned),
                                                   pieces_left = Left,
                                                   seeder = Left == 0},
                                          true)};
          not_interested ->
              {ok, S#state{piece_set = gb_sets:empty(), pieces_left = Left,
                           seeder = Left == 0}};
  
negative.code:                                 true ->
                                      try_to_queue_up_pieces(NS);
                                  false ->
                                      statechange_interested(NS#state.local_interested,
                                                              NS#state.send_pid, true),
                                      try_to_queue_up_pieces(NS#state{local_interested = true})
                              end;
                          false ->
                              NSS = S#state { pieces_left = Left, seeder = Left == 0},
  