diff --git a/lib/private/share20/manager.php b/lib/private/share20/manager.php
index 6932360a7e910cabf6c3d036b0a612be4f1e1d4e..df125ea6fc16a4f9b560f31961c19ee900ba6924 100644
--- a/lib/private/share20/manager.php
+++ b/lib/private/share20/manager.php
@@ -1079,7 +1079,8 @@ class Manager implements IManager {
 	 * @return bool
 	 */
 	public function shareApiLinkDefaultExpireDateEnforced() {
-		return $this->config->getAppValue('core', 'shareapi_enforce_expire_date', 'no') === 'yes';
+		return $this->shareApiLinkDefaultExpireDate() &&
+			$this->config->getAppValue('core', 'shareapi_enforce_expire_date', 'no') === 'yes';
 	}
 
 	/**
diff --git a/tests/lib/share20/managertest.php b/tests/lib/share20/managertest.php
index 2c40bf65c2c2bf342033a46afdf17afa374807fd..d388d56ce3dd05efef7128de73688196e23b9110 100644
--- a/tests/lib/share20/managertest.php
+++ b/tests/lib/share20/managertest.php
@@ -744,12 +744,27 @@ class ManagerTest extends \Test\TestCase {
 		$share = $this->manager->newShare();
 		$share->setProviderId('foo')->setId('bar');
 
+		$this->config->method('getAppValue')
+			->will($this->returnValueMap([
+				['core', 'shareapi_default_expire_date', 'no', 'yes'],
+				['core', 'shareapi_enforce_expire_date', 'no', 'yes'],
+			]));
+
+		$this->invokePrivate($this->manager, 'validateExpirationDate', [$share]);
+	}
+
+	public function testvalidateExpirationDateEnforceButNotEnabledAndNotSet() {
+		$share = $this->manager->newShare();
+		$share->setProviderId('foo')->setId('bar');
+
 		$this->config->method('getAppValue')
 			->will($this->returnValueMap([
 				['core', 'shareapi_enforce_expire_date', 'no', 'yes'],
 			]));
 
 		$this->invokePrivate($this->manager, 'validateExpirationDate', [$share]);
+
+		$this->assertNull($share->getExpirationDate());
 	}
 
 	public function testvalidateExpirationDateEnforceButNotSetNewShare() {