Index: hierarchical_select/hierarchical_select.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/hierarchical_select/hierarchical_select.js,v
retrieving revision 1.104
diff -u -p -r1.104 hierarchical_select.js
--- hierarchical_select/hierarchical_select.js	26 Aug 2010 15:28:58 -0000	1.104
+++ hierarchical_select/hierarchical_select.js	6 Nov 2010 15:18:07 -0000
@@ -523,6 +523,9 @@ Drupal.HierarchicalSelect.update = funct
     url += Drupal.settings.HierarchicalSelect.getArguments;
   }
 
+  // Pass the $_GET['q'] var to the $_POST['q'] var
+  post.push({ name : 'q', value : Drupal.settings.HierarchicalSelect.q });
+
   // Construct the object that contains the options for a callback to the
   // server. If a client-side cache is found however, it's possible that this
   // won't be used.
Index: hierarchical_select/hierarchical_select.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/hierarchical_select/hierarchical_select.module,v
retrieving revision 1.197
diff -u -p -r1.197 hierarchical_select.module
--- hierarchical_select/hierarchical_select.module	8 Oct 2010 16:04:55 -0000	1.197
+++ hierarchical_select/hierarchical_select.module	6 Nov 2010 15:18:09 -0000
@@ -293,6 +293,8 @@ function hierarchical_select_json() {
   // drupal_json() function.
   drupal_set_header('Content-Type: text/javascript; charset=utf-8');
 
+  // Pass $_POST['q'] to $_GET var, required for taxonomy access control
+  $_GET['q'] = rawurldecode($_POST['q']);
   $hs_form_build_id = $_POST['hs_form_build_id'];
 
   // In this context, we're in a node selection mode.
@@ -1352,7 +1354,7 @@ function _hierarchical_select_setup_js(&
       $url = str_replace('//', '/', '/' . $url);
     }
 
-    _hierarchical_select_add_js_settings(array('HierarchicalSelect' => array('basePath' => $url, 'getArguments' => drupal_query_string_encode($_GET, array('q')))), $form_state);
+    _hierarchical_select_add_js_settings(array('HierarchicalSelect' => array('basePath' => $url,'getArguments' => drupal_query_string_encode($_GET, array('q')),'q' => rawurlencode($_GET['q']))), $form_state);
 
     $js_settings_added = TRUE;
   }
