diff --git a/lib/private/Http/Client/Client.php b/lib/private/Http/Client/Client.php
index ad51feca0bed71e69bcc6b4c32a1340580156cad..993b83917fd3a9fa649f5144cd52de905762cfdd 100644
--- a/lib/private/Http/Client/Client.php
+++ b/lib/private/Http/Client/Client.php
@@ -95,15 +95,15 @@ class Client implements IClient {
 	 * @return string|null
 	 */
 	private function getProxyUri(): ?string {
-		$proxyHost = $this->config->getSystemValue('proxy', null);
+		$proxyHost = $this->config->getSystemValue('proxy', '');
 
-		if ($proxyHost === null) {
+		if ($proxyHost === '' || $proxyHost === null) {
 			return null;
 		}
 
-		$proxyUserPwd = $this->config->getSystemValue('proxyuserpwd', null);
+		$proxyUserPwd = $this->config->getSystemValue('proxyuserpwd', '');
 
-		if ($proxyUserPwd === null) {
+		if ($proxyUserPwd === '' || $proxyUserPwd === null) {
 			return $proxyHost;
 		}
 
diff --git a/tests/lib/Http/Client/ClientTest.php b/tests/lib/Http/Client/ClientTest.php
index f43958ab865de0b021eaa96b108e42c7a53a58ab..7a25acd9a5033ddb27e1e5aa2e98d0c111e6ba01 100644
--- a/tests/lib/Http/Client/ClientTest.php
+++ b/tests/lib/Http/Client/ClientTest.php
@@ -70,12 +70,22 @@ class ClientTest extends \Test\TestCase {
 		$this->config
 			->expects($this->at(0))
 			->method('getSystemValue')
-			->with('proxy', null)
+			->with(
+				$this->equalTo('proxy'),
+				$this->callback(function ($input) {
+					return $input === '';
+				})
+			)
 			->willReturn('foo');
 		$this->config
 			->expects($this->at(1))
 			->method('getSystemValue')
-			->with('proxyuserpwd', null)
+			->with(
+				$this->equalTo('proxyuserpwd'),
+				$this->callback(function ($input) {
+					return $input === '';
+				})
+			)
 			->willReturn('username:password');
 		$this->assertSame('username:password@foo', self::invokePrivate($this->client, 'getProxyUri'));
 	}