diff --git a/modules/Bio/EnsEMBL/Feature.pm b/modules/Bio/EnsEMBL/Feature.pm
index 82ba9552b0953524dd35651af9024a64d8f58624..fe286a8fbabf3dcc97bf35c211c63296258a0fc2 100644
--- a/modules/Bio/EnsEMBL/Feature.pm
+++ b/modules/Bio/EnsEMBL/Feature.pm
@@ -775,15 +775,8 @@ sub seq {
     return undef;
   }
 
-  my $slice_adaptor = $self->{'slice'}->adaptor();
-  return undef unless defined $slice_adaptor;
-  my $seq_adaptor = $slice_adaptor->db()->get_SequenceAdaptor();
-
-  return ${$seq_adaptor->fetch_by_Slice_start_end_strand
-    ( 
-     $self->{'slice'}, $self->{'start'},
-     $self->{'end'}, $self->{'strand'}
-    )};
+  return $self->{'slice'}->subseq($self->{'start'}, $self->{'end'},
+                                  $self->{'strand'});
 
 }