anchor.diff:  
           false ->
               %% Deleting non-authoritative content
  -            case get_pubsub_subscription(Id, Context) of
  +            case get_pubsub_xmpp_uri(Id, Context) of
                   undefined ->
                       {noreply, State};
  -                Details ->
  -                    {Service, Node, _SubscriptionId} = Details,
  -                    ok = unsubscribe_node(Service, Node, State),
  +                Uri ->
  +                    ?DEBUG("Unsubscribing!"),
  +                    {Jid, _Action, Args} = z_xmpp:parse_xmpp_uri(Uri),
  +                    Node = proplists:get_value("node", Args),
  +                    SubId = m_rsc:p(Id, pubsub_subscription_subid, Context),
  +                    ok = unsubscribe_node(SubId, exmpp_jid:to_list(Jid), Node, State),
                       {noreply, State}
               end
       end;
  
positive.code:                     %% Create the rsc
                      {ok, Id} = m_rsc_import:create_empty(RscUrl, [{pubsub_xmpp_uri, Uri}], State#state.context),
                      %% Do the subscription
                      {ok, Id, subscribe_node(exmpp_jid:to_list(Jid), Node, State)}
              end;
  
          undefined ->
  
negative.code:     end.
  
  
  %% @doc Parse the subscription response.
  %% @spec subscribe_results(Packet) -> {subid::binary, subscription_status::binary}
  
  subscribe_results(Element) ->
      case exmpp_xml:get_element(Element, ?NS_PUBSUB, 'pubsub') of
          undefined ->
              {error, invalid_pubsub_response};
          PSEl ->
              case exmpp_xml:get_element(PSEl, ?NS_PUBSUB, 'subscription') of
                  undefined ->
                      {error, invalid_pubsub_response};
                  SubEl ->
                      { exmpp_xml:get_attribute_as_binary(SubEl, subid, undefined),
                        exmpp_xml:get_attribute_as_binary(SubEl, subscription, undefined) }
              end
      end.
  
  
  %%
  %% XMPP received packet processing
  