diff --git a/lib/private/DB/QueryBuilder/QueryBuilder.php b/lib/private/DB/QueryBuilder/QueryBuilder.php
index 7fdeed121302b3f81b76643a086986ee34d1622e..c2686f7b4a059c084c62818eed1c64ec7b0ebb5f 100644
--- a/lib/private/DB/QueryBuilder/QueryBuilder.php
+++ b/lib/private/DB/QueryBuilder/QueryBuilder.php
@@ -436,8 +436,14 @@ class QueryBuilder implements IQueryBuilder {
 	 * @return $this This QueryBuilder instance.
 	 */
 	public function selectDistinct($select) {
+		if (!is_array($select)) {
+			$select = [$select];
+		}
+
+		$quotedSelect = $this->helper->quoteColumnNames($select);
+
 		$this->queryBuilder->addSelect(
-			'DISTINCT ' . $this->helper->quoteColumnName($select)
+			'DISTINCT ' . implode(', ', $quotedSelect)
 		);
 
 		return $this;
diff --git a/tests/lib/DB/QueryBuilder/QueryBuilderTest.php b/tests/lib/DB/QueryBuilder/QueryBuilderTest.php
index faf06360e17587cfb7cc21f054ee456617d013d4..fe87a201d573f7c622511ad7b51ad809109644c4 100644
--- a/tests/lib/DB/QueryBuilder/QueryBuilderTest.php
+++ b/tests/lib/DB/QueryBuilder/QueryBuilderTest.php
@@ -314,6 +314,44 @@ class QueryBuilderTest extends \Test\TestCase {
 		$this->deleteTestingRows('testFirstResult2');
 	}
 
+	public function testSelectDistinctMultiple() {
+		$this->deleteTestingRows('testFirstResult1');
+		$this->deleteTestingRows('testFirstResult2');
+		$this->createTestingRows('testFirstResult1');
+		$this->createTestingRows('testFirstResult2');
+
+		$this->queryBuilder->selectDistinct(['appid', 'configkey']);
+
+		$this->queryBuilder->from('*PREFIX*appconfig')
+			->where($this->queryBuilder->expr()->eq(
+				'appid',
+				$this->queryBuilder->expr()->literal('testFirstResult1')
+			))
+			->orderBy('appid', 'DESC');
+
+		$query = $this->queryBuilder->execute();
+		$rows = $query->fetchAll();
+		$query->closeCursor();
+
+		$this->assertEquals(
+			[
+				['appid' => 'testFirstResult1', 'configkey' => 'testing1'],
+				['appid' => 'testFirstResult1', 'configkey' => 'testing2'],
+				['appid' => 'testFirstResult1', 'configkey' => 'testing3'],
+				['appid' => 'testFirstResult1', 'configkey' => 'testing4'],
+				['appid' => 'testFirstResult1', 'configkey' => 'testing5'],
+				['appid' => 'testFirstResult1', 'configkey' => 'testing6'],
+				['appid' => 'testFirstResult1', 'configkey' => 'testing7'],
+				['appid' => 'testFirstResult1', 'configkey' => 'testing8'],
+				['appid' => 'testFirstResult1', 'configkey' => 'testing9'],
+			],
+			$rows
+		);
+
+		$this->deleteTestingRows('testFirstResult1');
+		$this->deleteTestingRows('testFirstResult2');
+	}
+
 	public function dataAddSelect() {
 		$config = $this->createMock(SystemConfig::class);
 		$logger = $this->createMock(ILogger::class);