diff --git a/modules/Bio/EnsEMBL/Utils/CliHelper.pm b/modules/Bio/EnsEMBL/Utils/CliHelper.pm
index 7317a254c81ad896fca2ec4a6d082130798c1747..1494a880a40ef71e7b1098dbcf65d687dad566cd 100644
--- a/modules/Bio/EnsEMBL/Utils/CliHelper.pm
+++ b/modules/Bio/EnsEMBL/Utils/CliHelper.pm
@@ -178,18 +178,17 @@ sub get_dba_args_for_opts {
                                                           -PORT   => $opts->{$port},
                                                           -DRIVER => $opts->{$driver} );
 		my @dbnames;
-		if ( defined $opts->{$pattern} ) {
+		if ( defined $opts->{$dbname} ) {
+			push @dbnames, $opts->{$dbname};
+		} elsif ( defined $opts->{$pattern} ) {
 		   # get a basic DBConnection and use to find out which dbs are involved
 			@dbnames =
 			  grep { m/$opts->{pattern}/smx }
 			  @{ $dbc->sql_helper()->execute_simple(q/SHOW DATABASES/) };
-		} elsif ( defined $opts->{$dbname} ) {
-			push @dbnames, $opts->{$dbname};
 		} else {
 			print Dumper($opts);
 			croak 'dbname or dbpattern arguments required';
 		}
-
 		for my $dbname (@dbnames) {
 
 			my $multi = 0;