diff --git a/lib/files/cache/scanner.php b/lib/files/cache/scanner.php
index 9d180820e9d28f7fd1f501110f145b7a39694663..dcc5d8c55813b4b9a2ed04c4fd9e16612e7e6361 100644
--- a/lib/files/cache/scanner.php
+++ b/lib/files/cache/scanner.php
@@ -112,6 +112,8 @@ class Scanner extends BasicEmitter {
 				if (!empty($newData)) {
 					$this->cache->put($file, $newData);
 				}
+			} else {
+				$this->cache->remove($file);
 			}
 			return $data;
 		}
diff --git a/tests/lib/files/cache/scanner.php b/tests/lib/files/cache/scanner.php
index f6deb93a49e1a37215878327bd7cd056b1078af4..4c90119814ab4af467cec149d00c6cd4cea29559 100644
--- a/tests/lib/files/cache/scanner.php
+++ b/tests/lib/files/cache/scanner.php
@@ -184,6 +184,16 @@ class Scanner extends \PHPUnit_Framework_TestCase {
 		$this->assertFalse($this->cache->inCache('folder/bar.txt'));
 	}
 
+	public function testScanRemovedFile(){
+		$this->fillTestFolders();
+
+		$this->scanner->scan('');
+		$this->assertTrue($this->cache->inCache('folder/bar.txt'));
+		$this->storage->unlink('folder/bar.txt');
+		$this->scanner->scanFile('folder/bar.txt');
+		$this->assertFalse($this->cache->inCache('folder/bar.txt'));
+	}
+
 	function setUp() {
 		$this->storage = new \OC\Files\Storage\Temporary(array());
 		$this->scanner = new \OC\Files\Cache\Scanner($this->storage);