diff --git a/apps/dav/lib/CardDAV/PhotoCache.php b/apps/dav/lib/CardDAV/PhotoCache.php
index eed11f1e9397a4f2ac356fde038cf7560e6a5454..8632fd45f2231a2b2811f81a0d62d4f02246c2df 100644
--- a/apps/dav/lib/CardDAV/PhotoCache.php
+++ b/apps/dav/lib/CardDAV/PhotoCache.php
@@ -167,16 +167,19 @@ class PhotoCache {
 	}
 
 	/**
-	 * @param int $addressBookId
-	 * @param string $cardUri
-	 * @return ISimpleFolder
+	 * @throws NotFoundException
+	 * @throws NotPermittedException
 	 */
-	private function getFolder($addressBookId, $cardUri) {
+	private function getFolder(int $addressBookId, string $cardUri, bool $createIfNotExists = true): ISimpleFolder {
 		$hash = md5($addressBookId . ' ' . $cardUri);
 		try {
 			return $this->appData->getFolder($hash);
 		} catch (NotFoundException $e) {
-			return $this->appData->newFolder($hash);
+			if($createIfNotExists) {
+				return $this->appData->newFolder($hash);
+			} else {
+				throw $e;
+			}
 		}
 	}
 
@@ -271,9 +274,14 @@ class PhotoCache {
 	/**
 	 * @param int $addressBookId
 	 * @param string $cardUri
+	 * @throws NotPermittedException
 	 */
 	public function delete($addressBookId, $cardUri) {
-		$folder = $this->getFolder($addressBookId, $cardUri);
-		$folder->delete();
+		try {
+			$folder = $this->getFolder($addressBookId, $cardUri, false);
+			$folder->delete();
+		} catch (NotFoundException $e) {
+			// that's OK, nothing to do
+		}
 	}
 }