Cancelling subscription request?

Here is my use case:

  1. User A subscribes to B (one-way)
  2. B sends subscription request to A (A doesn’t respond)
  3. B sends “unsubscribe” to A

I expected A to still be subscribing to B. But the subscription state goes to “none” + ask=“subscribe” in B:s roster item for A (not to just “from” as it was before B’s subscription request to A). (And A’s roster item for B goes to “none”)

Is this correct behaviour?

I’m using server version 3.6.2

Has no one else experienced this?

Maybe my XMPP library is doing something wrong, or is it a bug in OpenFire?