diff --git a/sites/all/modules/taxonomy_access_control/tac.admin.php b/sites/all/modules/taxonomy_access_control/tac.admin.php
index 7eed91d93a1920f48d6b6a0c89f1dcf7b6fd7b01..7b04579c94463c2fcea935f7004adc4fd4ee8d24 100644
--- a/sites/all/modules/taxonomy_access_control/tac.admin.php
+++ b/sites/all/modules/taxonomy_access_control/tac.admin.php
@@ -94,6 +94,8 @@ function theme_tac_term_list($variables)
 
 function tac_admin_submit($form, &$form_state)
 {
+    db_delete('tac_map')->execute();
+        
     $vocabulary = $form_state['values']['vocabulary'];
     if ($vocabulary > 0 && $vocabulary != variable_get('tac_vocabulary')) {
         variable_set('tac_vocabulary', $vocabulary);
@@ -103,7 +105,6 @@ function tac_admin_submit($form, &$form_state)
     }
     
     
-    db_delete('tac_map')->execute();
     $insert = db_insert('tac_map')->fields(array('rid', 'tid', 'grant_view', 'grant_update', 'grant_delete'));
     
     foreach ($form_state['values']['edit'] as $rid => $terms) {