diff --git a/modules/Bio/EnsEMBL/Utils/Proxy.pm b/modules/Bio/EnsEMBL/Utils/Proxy.pm index 51ff03436a05e1a258aa7f08d98480211e3930b1..cc11f97574209f631a74413002294c9f77d4acba 100644 --- a/modules/Bio/EnsEMBL/Utils/Proxy.pm +++ b/modules/Bio/EnsEMBL/Utils/Proxy.pm @@ -135,9 +135,11 @@ sub isa { sub can { my ($self, $method) = @_; - return 1 if $self->SUPER::can($method); - return 1 if $self->__proxy()->can($method); - return 0; + my $super_can = $self->SUPER::can($method); + return $super_can if $super_can; + my $proxy_can = $self->__proxy()->can($method); + return $proxy_can if $proxy_can; + return; } =head2 DESTROY