- my $ref = $self->get($p);
- push @dxchan, $ref->alldxchan(@dxchan) if $ref;
+ my $dxchan = DXChannel->get($p);
+ if ($dxchan) {
+ push @dxchan, $dxchan if grep $dxchan ne $_, @dxchan;
+ } else {
+ next if $p eq $main::mycall; # the root
+ my $ref = $self->get($p);
+ push @dxchan, $ref->alldxchan if $ref;
+ }