diff --git a/modules/Bio/EnsEMBL/IdMapping/ScoreBuilder.pm b/modules/Bio/EnsEMBL/IdMapping/ScoreBuilder.pm
index 05c5f512b2f7efd86fbdd07ddb018488143791a4..e556f04987009249f9e0f9cf1a0ee3a8b6b76336 100644
--- a/modules/Bio/EnsEMBL/IdMapping/ScoreBuilder.pm
+++ b/modules/Bio/EnsEMBL/IdMapping/ScoreBuilder.pm
@@ -190,7 +190,8 @@ sub internal_id_rescore {
     my $ambiguous = 0;
 
     foreach my $e (@entries) {
-      if ( $e->target == $source and $e->score == $entries[0] ) {
+      if ( $e->target == $source and $e->score == $entries[0]->score() )
+      {
         $ambiguous = 1;
         last;
       }
@@ -201,7 +202,8 @@ sub internal_id_rescore {
     # now penalise those where source id != target id and score == best
     # score
     foreach my $e (@entries) {
-      if ( $e->target != $source and $e->score == $entries[0] ) {
+      if ( $e->target != $source and $e->score == $entries[0]->score() )
+      {
         # PENALTY: This stable ID is not any longer on the same object.
         $matrix->set_score( $source, $e->target(), 0.8*$e->score() );
         $i++;