diff --git a/includes/uuid_term.features.inc b/includes/uuid_term.features.inc
index a1b4d5b..c1cefa9 100644
--- a/includes/uuid_term.features.inc
+++ b/includes/uuid_term.features.inc
@@ -136,10 +136,8 @@ function uuid_term_features_rebuild($module) {
           }
         }
 
-        $ret = taxonomy_term_save($term /* TODO Term object replaces array $data */);
-
-        // TODO: remove when http://drupal.org/node/860442 is resolved.
-        uuid_set_uuid('taxonomy_term_data', 'tid', $data['tid'], $data['uuid']);
+         $term = (object) $data;
+         $ret = taxonomy_term_save($term);
       }
 
     }
diff --git a/includes/uuid_vocabulary.features.inc b/includes/uuid_vocabulary.features.inc
index b95f20d..de4deb5 100644
--- a/includes/uuid_vocabulary.features.inc
+++ b/includes/uuid_vocabulary.features.inc
@@ -99,6 +99,8 @@ function uuid_vocabulary_features_rebuild($module) {
   $vocabs = module_invoke($module, 'uuid_features_default_vocabularies');
   if (!empty($vocabs)) {
     foreach ($vocabs as $vocab) {
+      $vocab = (object) $vocab;
+      $vocab->machine_name = $vocab->uuid;
       $vocabulary = taxonomy_vocabulary_machine_name_load($vocab->machine_name);
 
       if (!empty($vocabulary)) {
