I'm pretty sure this is a bug because has_no_role has some code that
explicitly checks that the Role object is empty before removing it. I
forked
the repository, changed the behavior and submitted a patch. The
fix is available at
http://github.com/onemorething/rails-authorization-plugin/tree/master,
in case you want to check it out before the patch is accepted.
HTH,
TIm