diff --git a/modules/Bio/EnsEMBL/IdMapping/InternalIdMapper.pm b/modules/Bio/EnsEMBL/IdMapping/InternalIdMapper.pm
index 741a0f0bc96a9245bf9c245ebc8d8e7f90dce7f3..8d59e5d960bb3ec71d0dac138599a9fe1913c32b 100644
--- a/modules/Bio/EnsEMBL/IdMapping/InternalIdMapper.pm
+++ b/modules/Bio/EnsEMBL/IdMapping/InternalIdMapper.pm
@@ -317,7 +317,7 @@ sub map_exons {
     #
     foreach my $plugin (@plugins) {
       ($exon_scores, $new_mappings) = $self->delegate_to_plugin($plugin, $i++,
-        $esb, $new_mappings, $exon_scores);
+        $esb, $new_mappings, $exon_scores, $transcript_mappings);
 
       push(@mappings, $new_mappings);
     }
@@ -642,6 +642,7 @@ sub write_ambiguous {
       print $fh "\n    " unless (($i++)%10);
       print $fh $e->$other_db_type, ", ";
     }
+    print $fh "\n";
   }
 
   print $fh "\n";
diff --git a/modules/Bio/EnsEMBL/IdMapping/InternalIdMapper/EnsemblExonGeneric.pm b/modules/Bio/EnsEMBL/IdMapping/InternalIdMapper/EnsemblExonGeneric.pm
index f4228072f15780f7e1c3ff1d387391c310915fe1..8f820e497a85eb3ee7e8d6ded20afb18812ee68d 100644
--- a/modules/Bio/EnsEMBL/IdMapping/InternalIdMapper/EnsemblExonGeneric.pm
+++ b/modules/Bio/EnsEMBL/IdMapping/InternalIdMapper/EnsemblExonGeneric.pm
@@ -64,6 +64,7 @@ sub init_basic {
 #
 # reduce score for mappings of exons which do not belong to mapped
 # transcripts
+# (ie where source exon transcript does not map target exon transcript)
 #
 sub mapped_transcript {
   my $self = shift;
@@ -71,11 +72,12 @@ sub mapped_transcript {
   my $esb = shift;
   my $mappings = shift;
   my $exon_scores = shift;
+  my $transcript_mappings = shift;
 
   $self->logger->info("Exons in mapped transcript...\n", 0, 'stamped');
 
   unless ($exon_scores->loaded) {
-    $esb->non_mapped_transcript_rescore($exon_scores, $mappings);
+    $esb->non_mapped_transcript_rescore($exon_scores, $transcript_mappings);
     $exon_scores->write_to_file;
   }