Otherwise the next serach_related will work with a contaminated seen_joins
my $from = $attrs->{from}
|| [ { $attrs->{alias} => $source->from } ];
- my $seen = $attrs->{seen_join} || {};
+ my $seen = { %{$attrs->{seen_join} || {} } };
# we need to take the prefetch the attrs into account before we
# ->_resolve_join as otherwise they get lost - captainL