diff --git a/modules/system/system.api.php b/modules/system/system.api.php
index 18cd7fe..c2f13a7 100644
--- a/modules/system/system.api.php
+++ b/modules/system/system.api.php
@@ -2681,22 +2681,11 @@ function hook_file_delete($file) {
  *   NULL.
  *
  * @see file_download()
- * @see upload_file_download()
  */
 function hook_file_download($uri) {
-  // Check if the file is controlled by the current module.
-  if (!file_prepare_directory($uri)) {
-    $uri = FALSE;
-  }
-  $result = db_query("SELECT f.* FROM {file_managed} f INNER JOIN {upload} u ON f.fid = u.fid WHERE uri = :uri", array('uri' => $uri));
-  foreach ($result as $file) {
-    if (!user_access('view uploaded files')) {
-      return -1;
-    }
-    return array(
-      'Content-Type' => $file->filemime,
-      'Content-Length' => $file->filesize,
-    );
+  if (strpos(file_uri_target($uri), variable_get('user_picture_path', 'pictures') . '/picture-') === 0) {
+    $info = image_get_info($uri);
+    return array('Content-Type' => $info['mime_type']);
   }
 }
 
