diff --git a/modules/Bio/EnsEMBL/IdMapping/StableIdMapper.pm b/modules/Bio/EnsEMBL/IdMapping/StableIdMapper.pm
index 50e6a58a1e4becd386129ab2bdf9b8e8d68aaea1..3498d7920d06c64a4c50e4e83027e644b893e0c5 100644
--- a/modules/Bio/EnsEMBL/IdMapping/StableIdMapper.pm
+++ b/modules/Bio/EnsEMBL/IdMapping/StableIdMapper.pm
@@ -233,14 +233,19 @@ sub map_stable_ids {
       $t_obj->created_date($s_obj->created_date);
 
       # calculate and set version
-      $t_obj->version($self->stable_id_generator->calculate_version(
-        $s_obj, $t_obj));
+      my $old_version = $s_obj->version();
+      my $new_version = $self->stable_id_generator->calculate_version($s_obj, $t_obj) ;
+      $t_obj->version($new_version);
 
       # change modified_date if version changed
-      if ($s_obj->version == $t_obj->version) {
+      if ($old_version == $new_version) {
         $t_obj->modified_date($s_obj->modified_date);
       } else {
         $t_obj->modified_date($self->mapping_session_date);
+        # If version changed, score cannot be 1
+        if ($scores_by_target{$tid} == 1) {
+          $scores_by_target{$tid} = 0.99;
+        }
       }
 
       # create a stable_id_event entry (not for exons)