diff --git a/lib/private/files/cache/cache.php b/lib/private/files/cache/cache.php
index f377e9777d68bd4b98a2932970cbdc102c01a1be..64661ca11579cbf7fba826700bc453f22302eccc 100644
--- a/lib/private/files/cache/cache.php
+++ b/lib/private/files/cache/cache.php
@@ -214,6 +214,7 @@ class Cache {
 	 * @param array $data
 	 *
 	 * @return int file id
+	 * @throws \RuntimeException
 	 */
 	public function put($file, array $data) {
 		if (($id = $this->getId($file)) > -1) {
@@ -259,9 +260,12 @@ class Cache {
 			}
 
 			// The file was created in the mean time
-			$id = $this->getId($file);
-			$this->update($id, $data);
-			return $id;
+			if (($id = $this->getId($file)) > -1) {
+				$this->update($id, $data);
+				return $id;
+			} else {
+				throw new \RuntimeException('File entry exists when inserting and does not exist on select... go away');
+			}
 		}
 	}
 
diff --git a/lib/private/files/cache/storage.php b/lib/private/files/cache/storage.php
index e5185f5c137a181c5a35b5b89957ab0464725cc1..9f2739bbedb3ad98495aa96f8005a0f776854e97 100644
--- a/lib/private/files/cache/storage.php
+++ b/lib/private/files/cache/storage.php
@@ -21,6 +21,7 @@ class Storage {
 
 	/**
 	 * @param \OC\Files\Storage\Storage|string $storage
+	 * @throws \RuntimeException
 	 */
 	public function __construct($storage) {
 		if ($storage instanceof \OC\Files\Storage\Storage) {
@@ -43,7 +44,7 @@ class Storage {
 				if ($row = $result->fetchRow()) {
 					$this->numericId = $row['numeric_id'];
 				} else {
-					throw new \Exception('Storage exists when inserting and does not exist on select... go away');
+					throw new \RuntimeException('Storage exists when inserting and does not exist on select... go away');
 				}
 			}
 		}