I managed to reproduce the bug locally but I can't say that I understand what we're fixing here. Let me explain:

* I created the groups `web dev` and `web development` 
* I merged `web development into `web dev`
* I joined `web dev`
* I see a count of 4 members without your patch, 1 with your patch.

Correct but:
* When I break *before* this line and look at `qset` there is only `web dev` in there, so what does `set()` do?
* Actually doing `Group.objects.filter(pk__in=qset)` without `set` works in the same way.

So maybe there is something deeper in django's orm that needs attention?

BTW IMHO I wouldn't spend much time on fixing this in the admin panel level, since this info can be valueable in other places as well. Maybe it makes sense to code into `Groups Queryset.`