diff --git a/misc-scripts/xref_projection/project_display_xrefs.pl b/misc-scripts/xref_projection/project_display_xrefs.pl
index 4316a4a594de3c939c00bd046c52c022eed15c0f..ed7dfddae1c25d820b758274ec47df2b527c7019 100644
--- a/misc-scripts/xref_projection/project_display_xrefs.pl
+++ b/misc-scripts/xref_projection/project_display_xrefs.pl
@@ -265,8 +265,7 @@ sub project_go_terms {
       #print $dbEntry->display_id() . " " . $et . " " . $projections_by_evidence_type{$et} . "\n";
     }
 
-    # Change linkage_type to IEA (in the absence of a specific one for projections)
-    $dbEntry->flush_linkage_types();
+    # add linkage_type for projection to IEA (in the absence of a specific one for projections)
     $dbEntry->add_linkage_type("IEA");
 
     my $txt = "from $from_latin_species translation " . $from_translation->stable_id();
@@ -292,6 +291,8 @@ sub go_xref_exists {
 
   foreach my $xref (@{$to_go_xrefs}) {
 
+    next if (ref($dbEntry) ne "Bio::EnsEMBL::GoXref" || ref($xref) ne "Bio::EnsEMBL::GoXref");
+
     if ($xref->dbname() eq $dbEntry->dbname() &&
 	$xref->primary_id() eq $dbEntry->primary_id() &&
 	join("", @{$xref->get_all_linkage_types()}) eq join("", @{$dbEntry->get_all_linkage_types()})) {
@@ -333,10 +334,10 @@ sub print_stats {
   if ($go_terms) {
 
     print "GO xrefs: total ";
-    print &count_rows($to_ga, "SELECT COUNT(*) FROM xref x, external_db e WHERE e.external_db_id=x.external_db_id AND e.db_name='GO'");
+    print &count_rows($to_ga, "SELECT COUNT(DISTICT(x.dbprimary_acc)) FROM xref x, external_db e WHERE e.external_db_id=x.external_db_id AND e.db_name='GO'");
 
     print " projected ";
-    print &count_rows($to_ga, "SELECT COUNT(*) FROM xref x, external_db e WHERE e.external_db_id=x.external_db_id AND e.db_name='GO' AND x.info_type='PROJECTION'");
+    print &count_rows($to_ga, "SELECT COUNT(DISTICT(x.dbprimary_acc)) FROM xref x, external_db e WHERE e.external_db_id=x.external_db_id AND e.db_name='GO' AND x.info_type='PROJECTION'");
 
     print "\n";
 
@@ -355,7 +356,7 @@ sub count_rows {
   $sth->execute();
 
   return ($sth->fetchrow_array())[0];
-
+ 
 }
 
 # ----------------------------------------------------------------------