diff --git a/docroot/sites/all/modules/nodewords_migrate/nodewords_migrate.admin.inc b/docroot/sites/all/modules/nodewords_migrate/nodewords_migrate.admin.inc
index 5788fea..de7976f 100644
--- a/docroot/sites/all/modules/nodewords_migrate/nodewords_migrate.admin.inc
+++ b/docroot/sites/all/modules/nodewords_migrate/nodewords_migrate.admin.inc
@@ -96,9 +96,22 @@ function nodewords_migrate_migrate() {
 
         // These are metatags for a specified entity.
         case 'node':
-          $metatags = metatag_metatags_load($record->entity_type_id, $record->entity_id);
+          $metatags = metatag_metatags_load($record->entity_type, $record->entity_id);
           $metatags = array_merge($metatags, $record->data);
-          metatag_metatags_save($record->entity_type, $record->entity_id, $metatags, LANGUAGE_NONE);
+          $node = node_load($record->entity_id);
+          metatag_metatags_save($record->entity_type, $record->entity_id, $node->vid, $metatags, $node->language);
+          break;
+        case 'taxonomy_term':
+          $metatags = metatag_metatags_load($record->entity_type, $record->entity_id);
+          $metatags = array_merge($metatags, $record->data);
+          $term = taxonomy_term_load($record->entity_id);
+          metatag_metatags_save($record->entity_type, $record->entity_id, $term->vid, $metatags, $term->language);
+          break;
+        case 'vocabulary':
+          $metatags = metatag_metatags_load($record->entity_type, $record->entity_id);
+          $metatags = array_merge($metatags, $record->data);
+          $vocabulary = taxonomy_vocabulary_load($record->entity_id);
+          metatag_metatags_save($record->entity_type, $record->entity_id, $vocabulary->vid, $metatags, $vocabulary->language);
           break;
       }
     }
@@ -141,6 +154,9 @@ function nodewords_migrate_type($type) {
 
     case 8:
       return 'user';
+
+    case 9:
+      return 'vocabulary';
   }
 
   return FALSE;
