diff --git a/lib/files/storage/common.php b/lib/files/storage/common.php
index e87fe3b5239bde3c75e3e9b5c79fe1ac3c67e2d4..3da13ac4df05306165b9f4a1e74908f468fcf7eb 100644
--- a/lib/files/storage/common.php
+++ b/lib/files/storage/common.php
@@ -138,27 +138,21 @@ abstract class Common implements \OC\Files\Storage\Storage {
 	 */
 	public function deleteAll($directory, $empty = false) {
 		$directory = trim($directory, '/');
-
-		if (!$this->file_exists(\OCP\USER::getUser() . '/' . $directory)
-			|| !$this->is_dir(\OCP\USER::getUser() . '/' . $directory)
-		) {
-			return false;
-		} elseif (!$this->isReadable(\OCP\USER::getUser() . '/' . $directory)) {
+		if (!$this->is_dir($directory) || !$this->isReadable($directory)) {
 			return false;
 		} else {
-			$directoryHandle = $this->opendir(\OCP\USER::getUser() . '/' . $directory);
+			$directoryHandle = $this->opendir($directory);
 			while ($contents = readdir($directoryHandle)) {
-				if ($contents != '.' && $contents != '..') {
-					$path = $directory . "/" . $contents;
+				if (!\OC\Files\Filesystem::isIgnoredDir($contents)) {
+					$path = $directory . '/' . $contents;
 					if ($this->is_dir($path)) {
 						$this->deleteAll($path);
 					} else {
-						$this->unlink(\OCP\USER::getUser() . '/' . $path); // TODO: make unlink use same system path as is_dir
+						$this->unlink($path);
 					}
 				}
 			}
-			//$this->closedir( $directoryHandle ); // TODO: implement closedir in OC_FSV
-			if ($empty == false) {
+			if ($empty === false) {
 				if (!$this->rmdir($directory)) {
 					return false;
 				}