I just found out why groups I killed using gnus-group-kill-group from a secondary nnml server kept reappearing when I hit gnus-group-find-new-groups in the group buffer. It turned out gnus-group-change-level didn't put them into gnus-killed-list. This is because it calls gnus-group-foreign-p after removing the group's entry from gnus-active-hashtb. gnus-group-foreign-p uses gnus-find-method-for-group on the group name, which currently invents a new method if it can't find an entry in gnus-active-hashtb, ignoring a possibly existing definition for the virtual server name used. To fix it, I propose the following patch to make gnus-find-method-for-group smarter when presented with an unknown group, and only invent a new method as a last resort.