diff --git a/modules/Bio/EnsEMBL/Gene.pm b/modules/Bio/EnsEMBL/Gene.pm
index 9f38bf8619946dc7ea9f066ecf50e1cd9a87d800..fe83efdcc5b57b736941f6c28be8802f9ca1a8b1 100755
--- a/modules/Bio/EnsEMBL/Gene.pm
+++ b/modules/Bio/EnsEMBL/Gene.pm
@@ -1013,8 +1013,12 @@ sub get_all_Transcripts {
       $self->{'_transcript_array'} = $transcripts;
     }
   }
-  my @array_copy = @{ $self->{'_transcript_array'} };
-  return \@array_copy;
+  my @array_copy;
+  if (defined $self->{'_transcript_array'}) {
+    @array_copy = @{ $self->{'_transcript_array'} } ;
+    return \@array_copy;
+  }
+  return;
 }
 
 
diff --git a/modules/Bio/EnsEMBL/Utils/TranscriptSelector.pm b/modules/Bio/EnsEMBL/Utils/TranscriptSelector.pm
index 033fcb2e855d12848bc77751a16bd72b2b52a8f4..b1177f0bba235795b10c7b55601e35af4a777292 100644
--- a/modules/Bio/EnsEMBL/Utils/TranscriptSelector.pm
+++ b/modules/Bio/EnsEMBL/Utils/TranscriptSelector.pm
@@ -104,7 +104,7 @@ sub select_canonical_transcript_for_Gene {
         @transcripts = @$transcript_array;
     } else {
         warning('No transcripts attached to gene '.$gene->stable_id);
-        return undef;
+        return;
     }
     my @encoded; # array of encoded transcripts