diff --git a/tac_lite.module b/tac_lite.module
index 3ee3c33..3504f33 100644
--- a/tac_lite.module
+++ b/tac_lite.module
@@ -101,7 +101,7 @@ function tac_lite_admin_settings($form, &$form_state) {
   else {
     $options = array();
     foreach ($vocabularies as $vid => $vocab) {
-      $options[$vid] = $vocab->name;
+      $options[$vocab->machine_name] = $vocab->name;
     }
 
     $form['tac_lite_categories'] = array(
@@ -245,7 +245,7 @@ function tac_lite_admin_scheme_form($form_state, $form_state, $i) {
       '#prefix' => '<p>',
       '#suffix' => '</p>',
     );
-    $vocabularies = taxonomy_get_vocabularies();
+    $vocabularies = taxonomy_vocabulary_get_names();
     $all_defaults = variable_get('tac_lite_grants_scheme_' . $i, array());
     $form['tac_lite_grants_scheme_' . $i] = array('#tree' => TRUE);
     foreach ($roles as $rid => $role_name) {
@@ -323,7 +323,7 @@ function tac_lite_form_alter(&$form, &$form_state, $form_id){
   // Catch for the tac_lite category on the user edit form.
   if ($form_id == 'user_profile_form') {
     if ($form['#user_category'] == 'tac_lite') {
-      $vocabularies = taxonomy_get_vocabularies();
+      $vocabularies = taxonomy_vocabulary_get_names();
       $vids = variable_get('tac_lite_categories', NULL);
       if (count($vids)) {
         for ($i = 1; $i <= variable_get('tac_lite_schemes', 1); $i++) {
@@ -346,8 +346,8 @@ function tac_lite_form_alter(&$form, &$form_state, $form_id){
               // (Might only be necessary if we are adding in custom validation?)
               $default_values = array();
               if ($form['#user']->data[$config['realm']]) {
-                if (isset($form['#user']->data[$config['realm']][$vid])) {
-                  $default_values = $form['#user']->data[$config['realm']][$vid];
+                if (isset($form['#user']->data[$config['realm']][$v->vid])) {
+                  $default_values = $form['#user']->data[$config['realm']][$v->vid];
                 }
               }
               $form['tac_lite'][$config['realm']][$vid] =  _tac_lite_term_select($v, $default_values);
@@ -496,6 +496,7 @@ function _tac_lite_get_terms_by_nid($nid) {
  *   An array of values to use for the default_value argument for this form element.
  */
 function _tac_lite_term_select($v, $default_values = array()) {
+  $v = taxonomy_vocabulary_load($v->vid);
   $tree = taxonomy_get_tree($v->vid);
   $options = array(0 => '<' . t('none') . '>');
   if ($tree) {
