diff --git a/lib/filecache.php b/lib/filecache.php
index 7cea878042d9cd9b74ffd316fed7fedb0b48ca17..5d72c4898dc34aa882684032d8ed9b65a9e9e735 100644
--- a/lib/filecache.php
+++ b/lib/filecache.php
@@ -540,14 +540,15 @@ class OC_FileCache{
 		}elseif($root=='/'){
 			$root='';
 		}
-		$rootLen=strlen($root);
+    $rootLen=strlen($root);
+    $root .= '%';
 		$user=OC_User::getUser();
 		if(!$part2){
-			$query=OC_DB::prepare('SELECT path FROM *PREFIX*fscache WHERE mimepart=? AND user=?');
-			$result=$query->execute(array($part1,$user));
+      $query=OC_DB::prepare('SELECT path FROM *PREFIX*fscache WHERE mimepart=? AND user=? AND path LIKE ?');
+      $result=$query->execute(array($part1,$user, $root));
 		}else{
-			$query=OC_DB::prepare('SELECT path FROM *PREFIX*fscache WHERE mimetype=? AND user=?');
-			$result=$query->execute(array($part1.'/'.$part2,$user));
+			$query=OC_DB::prepare('SELECT path FROM *PREFIX*fscache WHERE mimetype=? AND user=? AND path LIKE ? ');
+			$result=$query->execute(array($part1.'/'.$part2,$user, $root));
 		}
 		$names=array();
 		while($row=$result->fetchRow()){