diff --git a/modules/Bio/EnsEMBL/DBSQL/TranscriptAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/TranscriptAdaptor.pm
index c67dcf65348509e341e04963da919b93f8485c7f..d442a8b8f6bd83de7afa734bf3f13dce59ab3e31 100644
--- a/modules/Bio/EnsEMBL/DBSQL/TranscriptAdaptor.pm
+++ b/modules/Bio/EnsEMBL/DBSQL/TranscriptAdaptor.pm
@@ -981,12 +981,13 @@ sub store {
                  . "to be one of the exon in"
                  . "its associated Transcript" );
         }
-      } elsif ( !defined( $end_exon->dbID() ) ) {
+      }
+      if ( !defined( $end_exon->dbID() ) ) {
         my $key = $end_exon->hashkey();
         ($end_exon) = grep { $_->hashkey() eq $key } @$exons;
 
         if ( defined($end_exon) ) {
-          $translation->end_Exon($end_exon);
+          $alt_translation->end_Exon($end_exon);
         } else {
           throw(   "Translation's end_Exon does not appear "
                  . "to be one of the exons in "