diff --git a/file_entity/file_entity.module b/file_entity/file_entity.module
index d652bc3..b89584b 100644
--- a/file_entity/file_entity.module
+++ b/file_entity/file_entity.module
@@ -122,6 +122,7 @@ function file_entity_entity_info_alter(&$entity_info) {
   $entity_info['file']['fieldable'] = TRUE;
   $entity_info['file']['entity keys']['bundle'] = 'type';
   $entity_info['file']['bundle keys']['bundle'] = 'type';
+  $entity_info['file']['uri callback'] = 'file_entity_uri';
   $entity_info['file']['bundles'] = array();
   foreach (file_info_file_types() as $type => $info) {
     $info += array(
@@ -245,6 +246,15 @@ function file_entity_file_formatter_info() {
 
   return $formatters;
 }
+
+/**
+ * URI callback for file entities.
+ */
+function file_entity_uri($file) {
+  $uri['path'] = 'file/' . $file->fid;
+  return $uri;
+}
+
 /**
  * Return the label for a specific file entity view mode.
  */
