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