diff --git a/modules/Bio/EnsEMBL/DBEntry.pm b/modules/Bio/EnsEMBL/DBEntry.pm
index 295208c0db4a0e6f843627662be4477175a7084e..2dc2a846b6677f79769363ece57b66e7d5db6a9a 100644
--- a/modules/Bio/EnsEMBL/DBEntry.pm
+++ b/modules/Bio/EnsEMBL/DBEntry.pm
@@ -509,7 +509,7 @@ sub get_all_synonyms {
   my $self = shift;
 
   # lazy-load synonyms if required
-  if (!$self->{synonyms}) {
+  if (!$self->{synonyms} & $self->{adaptor}) {
     $self->{synonyms} = $self->{adaptor}->fetch_all_synonyms($self->dbID());
   }