diff --git a/lib/search/provider/file.php b/lib/search/provider/file.php
index 135e40667b141f16667572b789aac686746b0fa3..e21278f3918f84360a5bb7944e2c4ec755a9291a 100644
--- a/lib/search/provider/file.php
+++ b/lib/search/provider/file.php
@@ -5,29 +5,35 @@ class OC_Search_Provider_File extends OC_Search_Provider{
 		$files=OC_FileCache::search($query,true);
 		$results=array();
 		foreach($files as $fileData) {
-			$file=$fileData['path'];
-			$mime=$fileData['mimetype'];
+			$path = $fileData['path'];
+			$mime = $fileData['mimetype'];
+
+			$name = basename($path);
+			$text = '';
 			if($mime=='httpd/unix-directory') {
-				$results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'index.php', array('dir' => $file)),'Files');
+				$link = OC_Helper::linkTo( 'files', 'index.php', array('dir' => $path));
+				$type = 'Files';
 			}else{
-				$mimeBase=$fileData['mimepart'];
+				$link = OC_Helper::linkTo( 'files', 'download.php', array('file' => $path));
+				$mimeBase = $fileData['mimepart'];
 				switch($mimeBase) {
 					case 'audio':
 						break;
 					case 'text':
-						$results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php', array('file' => $file) ),'Text');
+						$type = 'Text';
 						break;
 					case 'image':
-						$results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php', array('file' => $file) ),'Images');
+						$type = 'Images';
 						break;
 					default:
 						if($mime=='application/xml') {
-							$results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php', array('file' => $file) ),'Text');
+							$type = 'Text';
 						}else{
-							$results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php', array('file' => $file) ),'Files');
+							$type = 'Files';
 						}
 				}
 			}
+			$results[] = new OC_Search_Result($name, $text, $link, $type);
 		}
 		return $results;
 	}