diff --git a/lib/private/setup/abstractdatabase.php b/lib/private/setup/abstractdatabase.php
index 0c1e5904e088a875f2f33631ee3f3dec76e9c7b4..90203b67c1d862a9d3737c3e7c8d45ae43523d34 100644
--- a/lib/private/setup/abstractdatabase.php
+++ b/lib/private/setup/abstractdatabase.php
@@ -59,10 +59,11 @@ abstract class AbstractDatabase {
 
 	public function validate($config) {
 		$errors = array();
-		if(empty($config['dbuser'])) {
+		if(empty($config['dbuser']) && empty($config['dbname'])) {
+			$errors[] = $this->trans->t("%s enter the database username and name.", array($this->dbprettyname));
+		} else if(empty($config['dbuser'])) {
 			$errors[] = $this->trans->t("%s enter the database username.", array($this->dbprettyname));
-		}
-		if(empty($config['dbname'])) {
+		} else if(empty($config['dbname'])) {
 			$errors[] = $this->trans->t("%s enter the database name.", array($this->dbprettyname));
 		}
 		if(substr_count($config['dbname'], '.') >= 1) {
diff --git a/lib/private/setup/oci.php b/lib/private/setup/oci.php
index 3d5aca96c1ff082b190299ca8c21f6cbd3be4d70..a398876ad16bdb1cefc55f44cc6e8d51981eb7f1 100644
--- a/lib/private/setup/oci.php
+++ b/lib/private/setup/oci.php
@@ -50,10 +50,11 @@ class OCI extends AbstractDatabase {
 
 	public function validate($config) {
 		$errors = array();
-		if(empty($config['dbuser'])) {
+		if(empty($config['dbuser']) && empty($config['dbname'])) {
+			$errors[] = $this->trans->t("%s enter the database username and name.", array($this->dbprettyname));
+		} else if(empty($config['dbuser'])) {
 			$errors[] = $this->trans->t("%s enter the database username.", array($this->dbprettyname));
-		}
-		if(empty($config['dbname'])) {
+		} else if(empty($config['dbname'])) {
 			$errors[] = $this->trans->t("%s enter the database name.", array($this->dbprettyname));
 		}
 		return $errors;