diff --git a/modules/Bio/EnsEMBL/UnmappedObject.pm b/modules/Bio/EnsEMBL/UnmappedObject.pm
index 1b080fc2dc7095aa51d77780e48f179b3778040f..d2a8bee274e35b016f122d238f8d00170df04ff0 100644
--- a/modules/Bio/EnsEMBL/UnmappedObject.pm
+++ b/modules/Bio/EnsEMBL/UnmappedObject.pm
@@ -108,9 +108,12 @@ sub new {
   $self->{'description'} = $full_desc   || throw('FULL_DESC must be given');
   $self->{'summary'} = $summary         || throw('SUMMARY must be given');
   $self->{'type'} = $type               || throw('TYPE must be given');
+  $self->{'external_db_id'} = $ex_db_id;
+
   if (lc($type) eq "xref") {
-    $self->{'external_db_id'} = $ex_db_id || throw('EXTERNAL_DB_ID must be given');
+    throw('EXTERNAL_DB_ID must be given') if ! defined $ex_db_id;
   }
+
   $self->{'identifier'} = $identifier   || throw('IDENTIFIER must be given');
   $self->{'query_score'} = $query_score  if(defined($query_score));
   $self->{'target_score'} = $target_score  if(defined($target_score));