diff --git a/modules/Bio/EnsEMBL/DBSQL/DBConnection.pm b/modules/Bio/EnsEMBL/DBSQL/DBConnection.pm
index bc75075d8dc1c43c7cb5edb0b4fbd589bac5ddc2..b83fd27c42847a70e436d104b1e0216bab950b5b 100644
--- a/modules/Bio/EnsEMBL/DBSQL/DBConnection.pm
+++ b/modules/Bio/EnsEMBL/DBSQL/DBConnection.pm
@@ -291,8 +291,11 @@ sub connect {
 
     my $dbparam = ($dbname) ? "database=${dbname};" : q{};
 
+    my $driver = $self->driver();
+    $driver = 'Pg' if($driver eq 'pgsql');
+
     $dsn = sprintf( "DBI:%s:%shost=%s;port=%s",
-                    $self->driver(), $dbparam,
+                    $driver, $dbparam,
                     $self->host(),   $self->port() );
 
     if ( $self->{'disconnect_when_inactive'} ) {