diff --git a/uuid_features.module b/uuid_features.module
index a96efd7..907705f 100644
--- a/uuid_features.module
+++ b/uuid_features.module
@@ -496,3 +496,78 @@ function _uuid_features_file_field_import_file(&$file) {
 
   return TRUE;
 }
+
+/**
+ * Implements hook_field_default_field_instances_alter().
+ *
+ * Alter the field instances right before they are cached into the database.
+ */
+function uuid_features_field_default_field_instances_alter(&$fields) {
+  // Ensure uuid of taxonomy term reference fields can be exported within default value
+  foreach ($fields as $field_name => $field) {
+    if (!empty($field['default_value'])) {
+      $default_values = array();
+
+      foreach ($field['default_value'] as $key => $value) {
+        if (isset($value['uuid']) && isset($value['tid'])) {
+          $terms = entity_uuid_load('taxonomy_term', array($value['uuid']), array(), TRUE);
+          $term = array_shift($terms);
+          if ($term) {
+            if (empty($term->uuid)) {
+              watchdog ('uuid_features', 'The uuid of term %tid could not be found.', array('%tid' => $term->tid));
+            }
+            else {
+              $default_values[] = array(
+                  'uuid' => $term->uuid,
+                  'tid' => $term->tid,
+              );
+            }
+          }
+        }
+      }
+
+      if (!empty($default_values)) {
+        $fields[$field_name]['default_value'] = $default_values;
+      }
+    }
+  }
+}
+
+/**
+ * Implements hook_features_export_alter().
+ *
+ * Assume the index `tid` of defalut value in field instance used for taxonomy term reference field, then try to append the UUID value for default value.
+ */
+function uuid_features_features_export_alter(&$export, $module_name = '') {
+  if (!empty($export['features']['field_instance'])) {
+    foreach ($export['features']['field_instance'] as $identifier) {
+      // Ensure the configured default value of a term reference field is properly set.
+      if ($instance = features_field_instance_load($identifier)) {
+        if (!empty($instance['default_value'][0]['tid'])) {
+          $default_values = array();
+
+          foreach ($instance['default_value'] as $key => $value) {
+            if (isset($value['tid']) && !isset($value['uuid'])) {
+              if ($term = taxonomy_term_load($value['tid'])) {
+                if (empty($term->uuid)) {
+                  watchdog ('uuid_features', 'The uuid of term %tid could not be found.', array('%tid' => $term->tid));
+                }
+                else {
+                  $default_values[] = array (
+                      'uuid' => $term->uuid,
+                      'tid' => $term->tid,
+                  );
+                }
+              }
+            }
+          }
+
+          if (!empty($default_values)) {
+            $instance['default_value'] = $default_values;
+            field_update_instance($instance);
+          }
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
