diff --git a/apps/files_sharing/lib/Controller/ShareController.php b/apps/files_sharing/lib/Controller/ShareController.php
index 0cb0b4eb5fad4acd7cfbee3ed6adcdbfcc1695d1..72168b3c3168e60a87c5777bc23bf5b700d35a67 100644
--- a/apps/files_sharing/lib/Controller/ShareController.php
+++ b/apps/files_sharing/lib/Controller/ShareController.php
@@ -545,10 +545,6 @@ class ShareController extends AuthPublicShareController {
 			throw new NotFoundException();
 		}
 
-		if ($share->getHideDownload()) {
-			return new NotFoundResponse();
-		}
-
 		$userFolder = $this->rootFolder->getUserFolder($share->getShareOwner());
 		$originalSharePath = $userFolder->getRelativePath($share->getNode()->getPath());
 
@@ -578,11 +574,17 @@ class ShareController extends AuthPublicShareController {
 			if ($node instanceof \OCP\Files\File) {
 				// Single file download
 				$this->singleFileDownloaded($share, $share->getNode());
-			} else if (!empty($files_list)) {
-				$this->fileListDownloaded($share, $files_list, $node);
 			} else {
-				// The folder is downloaded
-				$this->singleFileDownloaded($share, $share->getNode());
+				if ($share->getHideDownload()) {
+					return new NotFoundResponse();
+				}
+
+				if (!empty($files_list)) {
+					$this->fileListDownloaded($share, $files_list, $node);
+				} else {
+					// The folder is downloaded
+					$this->singleFileDownloaded($share, $share->getNode());
+				}
 			}
 		}