get_distinct() and uris

I am still struggling with implementing get_distinct().
Testing is done against ncmpcpp.
I am returning a set of strings for distinct artists like so
return set([v[0] for v in result])
Selecting an artist shows albums for that artist queried from all Backends (uris = None)
This is a rather nice feature.
Now when selecting an album i get the tracks of that album from all Backends also.
This is obviously not what i want.

What would be a good way to work around this?