diff --git a/entity_embed.module b/entity_embed.module
index 8d38357..0558b68 100644
--- a/entity_embed.module
+++ b/entity_embed.module
@@ -409,6 +409,22 @@ function _entity_embed_render_placeholders($text) {
         if (!empty($uuid) && module_exists('uuid')) {
           $entity = entity_uuid_load($entity_type, array($uuid));
           $entity = reset($entity);
+
+          // Identify fields on current entity
+          list(, , $bundle) = entity_extract_ids($entity_type, $entity);
+          $field_instances = field_info_instances($entity_type, $bundle);
+
+          foreach ($field_instances as $field_name => $field_info) {
+            if ($field_info['widget']['module'] == 'file' || $field_info['widget']['module'] == 'media') {
+              if (!empty($entity->{$field_name})) {
+                // Reverses UUID references in fid of attached files.
+                $items = field_get_items($entity_type, $entity, $field_name, $entity->language);
+                entity_property_uuid_to_id($items, 'file', 'fid');
+                // Reassign field values with correct fid to entity.
+                $entity->{$field_name}[$entity->language] = $items;
+              }
+            }
+          }
         }
         else {
           $entity = entity_load_single($entity_type, $id);
