diff --git a/lib/files/filesystem.php b/lib/files/filesystem.php
index c0e9d215fb5ddc8d8c73f49665d6257f6de81db7..edd37d7b46845ff0e323d40e5fc9c7e1ee96be4f 100644
--- a/lib/files/filesystem.php
+++ b/lib/files/filesystem.php
@@ -311,6 +311,7 @@ class Filesystem {
 	 */
 	static public function tearDown() {
 		self::clearMounts();
+		self::$defaultInstance = null;
 	}
 
 	/**
diff --git a/tests/lib/files/cache/updater.php b/tests/lib/files/cache/updater.php
index aaf932c97feb88a086d4545e7c7b4bd44d348c70..dad3cd7e6503cf671375fd1049bc8b7cc3e3f9fa 100644
--- a/tests/lib/files/cache/updater.php
+++ b/tests/lib/files/cache/updater.php
@@ -42,14 +42,11 @@ class Updater extends \PHPUnit_Framework_TestCase {
 		$this->scanner->scan('');
 		$this->cache = $this->storage->getCache();
 
+		\OC\Files\Filesystem::tearDown();
 		if (!self::$user) {
-			if (!\OC\Files\Filesystem::getView()) {
-				self::$user = uniqid();
-				\OC\Files\Filesystem::init(self::$user, '/' . self::$user . '/files');
-			} else {
-				self::$user = \OC_User::getUser();
-			}
+			self::$user = uniqid();
 		}
+		\OC\Files\Filesystem::init(self::$user, '/' . self::$user . '/files');
 
 		Filesystem::clearMounts();
 		Filesystem::mount($this->storage, array(), '/' . self::$user . '/files');