diff --git a/lib/cache/file.php b/lib/cache/file.php
index 531e1d50f40490aa370d14a297cf3bb552cdf450..ba3dedaf8f3c16404fba969cf6e874ea04bc8563 100644
--- a/lib/cache/file.php
+++ b/lib/cache/file.php
@@ -29,22 +29,30 @@ class OC_Cache_File{
 	}
 
 	public function get($key) {
+		$result = null;
+		$proxyStatus = \OC_FileProxy::$enabled;
+		\OC_FileProxy::$enabled = false;
 		if ($this->hasKey($key)) {
 			$storage = $this->getStorage();
-			return $storage->file_get_contents($key);
+			$result = $storage->file_get_contents($key);
 		}
-		return null;
+		\OC_FileProxy::$enabled = $proxyStatus;
+		return $result;
 	}
 
 	public function set($key, $value, $ttl=0) {
 		$storage = $this->getStorage();
+		$result = false;
+		$proxyStatus = \OC_FileProxy::$enabled;
+		\OC_FileProxy::$enabled = false;
 		if ($storage and $storage->file_put_contents($key, $value)) {
 			if ($ttl === 0) {
 				$ttl = 86400; // 60*60*24
 			}
-			return $storage->touch($key, time() + $ttl);
+			$result = $storage->touch($key, time() + $ttl);
 		}
-		return false;
+		\OC_FileProxy::$enabled = $proxyStatus;
+		return $result;
 	}
 
 	public function hasKey($key) {