Hello Radix,
This is correct behavior and it's caused by the design. You can e.g. check on-line users and change the role when the user is not logged-in. The context of the user can't be changed on-the-fly while the user is logged.
Best regards, Martin