diff --git a/plugins/media_derivatives.events.inc b/plugins/media_derivatives.events.inc
index e044a6a..6ffa3f7 100644
--- a/plugins/media_derivatives.events.inc
+++ b/plugins/media_derivatives.events.inc
@@ -1,4 +1,4 @@
-<?php 
+<?php
 
 /**
  * @file Implementation of basic events.
@@ -27,7 +27,7 @@ function media_derivatives_media_derivatives_events_info() {
 }
 
 /**
- * Event validation function for field_presave event. Checks if preset allows files 
+ * Event validation function for field_presave event. Checks if preset allows files
  * from this field to be derivated.
  */
 function _media_derivatives_field_presave_validation($file, $preset, $context) {
@@ -44,8 +44,8 @@ function _media_derivatives_field_presave_ui() {
   foreach($allowed as $name => $item) {
     $fields[$name] = $name;
   }
-  
-  $form = array();  
+
+  $form = array();
   $form['field_presave_allowed_fields'] = array(
     '#type' => 'checkboxes',
     '#title' => t('Allowed fields'),
@@ -56,8 +56,8 @@ function _media_derivatives_field_presave_ui() {
 }
 
 /**
- * Implements hook_entity_presave(). 
- * 
+ * Implements hook_entity_presave().
+ *
  * File (media, ...) fields must be recognized and field-triggered encodings started.
  */
 function media_derivatives_entity_presave($entity, $type) {
@@ -79,13 +79,19 @@ function media_derivatives_entity_presave($entity, $type) {
  * Implements hook_file_insert().
  */
 function media_derivatives_file_insert($file) {
+  // Add media derivatives info to file object.
+  if (empty($file->media_derivatives)) {
+    $file->media_derivatives['is_derivative'] = FALSE;
+    $file->media_derivatives['has_derivatives'] = FALSE;
+  }
+
   // Check if file needs a derivative.
   // Handle temporary files later
   if ($file->status == FILE_STATUS_PERMANENT){
     media_derivatives_create_all_derivatives($file, 'file_insert');
   }
   else {
-    
+
     // Get data about temporary files from cache.
     // TODO: Are static variables better than cache here?
     if ($tmp_data = cache_get('media_derivatives_handle_temp', 'cache')) {
@@ -94,17 +100,17 @@ function media_derivatives_file_insert($file) {
     else {
       $tmp_data = array();
     }
-    
+
     // Add data about this file.
     $tmp_data[$file->fid] = array(
         'filesize' => $file->filesize,
         'filemime' => $file->filemime,
         'timestamp' => $file->timestamp,
     );
-    
+
     // Save to cache.
     cache_set('media_derivatives_handle_temp', $tmp_data, 'cache', CACHE_PERMANENT);
-    
+
   }
 }
 
@@ -114,19 +120,19 @@ function media_derivatives_file_insert($file) {
  * Implements hook_file_update().
  */
 function media_derivatives_file_update($file) {
-  // Check if this file is one of previously saved temporary files, 
+  // Check if this file is one of previously saved temporary files,
   // which has now become a permanent one.
   if ($tmp_data = cache_get('media_derivatives_handle_temp', 'cache')) {
-    
+
     $tmp_data = $tmp_data->data;
     if (isset($tmp_data[$file->fid]) && $file->status == FILE_STATUS_PERMANENT) {
-      
+
       // Create derivatives for this file.
       media_derivatives_create_all_derivatives($file, 'file_insert');
-      
+
       // Remove file from temporary files registry.
       unset($tmp_data[$file->fid]);
-      
+
       // Update temporary files registry.
       if (empty($tmp_data)) {
         cache_clear_all('media_derivatives_handle_temp', 'cache');
@@ -134,8 +140,8 @@ function media_derivatives_file_update($file) {
       else {
         cache_set('media_derivatives_handle_temp', $tmp_data, 'cache', CACHE_PERMANENT);
       }
-      
+
     }
-    
+
   }
 }
