diff --git a/modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm
index 2ff40d556051a3e87f5f8eedfaa53b28af7d0f6e..92617ca8cef72c538bc79e836c88c258d99759e9 100755
--- a/modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm
+++ b/modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm
@@ -201,7 +201,7 @@ sub get_SNPAdaptor {
   if($lite) {
     $primary_adaptor = $lite->get_SNPAdaptor();
   } else {
-    my $snp = $self->get_db_adaptor('snp');
+    my $snp = $self->get_db_adaptor('SNP');
     
     unless($snp) {
       warn("No lite or SNP database, cannot get snp adaptor\n");
@@ -209,6 +209,7 @@ sub get_SNPAdaptor {
     }
 
     $primary_adaptor = $snp->get_SNPAdaptor();
+    $primary_adaptor->ensembl_db( $self );
   }
   
   #return a proxy adaptor which can use the lite or the core database
diff --git a/modules/Bio/EnsEMBL/Slice.pm b/modules/Bio/EnsEMBL/Slice.pm
index 7faf9289daf6de22dbbc90e5c79d4ee33a98246c..b599702b61b654feb720b3486ed00c6df67e23e5 100644
--- a/modules/Bio/EnsEMBL/Slice.pm
+++ b/modules/Bio/EnsEMBL/Slice.pm
@@ -486,8 +486,11 @@ sub get_all_SNPs {
   my $self = shift;
 
   my $snpa = $self->adaptor()->db()->get_SNPAdaptor();
-
-  return $snpa->fetch_all_by_Slice($self);
+  if( $snpa ) {
+    return $snpa->fetch_all_by_Slice($self);
+  } else {
+    return [];
+  }
 }
 
 
diff --git a/modules/Bio/EnsEMBL/StickyExon.pm b/modules/Bio/EnsEMBL/StickyExon.pm
index cb20ca520b0441b48d29ac5364ca96dd744525af..99b4741e03610560ff307d910e4994173802a8f9 100755
--- a/modules/Bio/EnsEMBL/StickyExon.pm
+++ b/modules/Bio/EnsEMBL/StickyExon.pm
@@ -425,7 +425,6 @@ sub transform {
       }
 
       # concatenate the raw sequence together
-      $dna_seq .= $c_exon->seq();
 
       # add the supporting features from the exons
       # each exon has the pieces of the supporting features that fall in the corresponding contig