diff --git a/modules/hs_content_taxonomy.admin.inc b/modules/hs_content_taxonomy.admin.inc
index 02ca41f..c56d46c 100644
--- a/modules/hs_content_taxonomy.admin.inc
+++ b/modules/hs_content_taxonomy.admin.inc
@@ -30,7 +30,7 @@ function hs_content_taxonomy_config_form($form_state, $content_type_name, $field
     'tid'   => $tid,
     'depth' => $depth,
   );
-  $config_id = "content-taxonomy-$field_name";
+  $config_id = "content-taxonomy-$content_type_name|$field_name";
   $vocabulary = taxonomy_vocabulary_load($vid);
   $defaults = array(
   // Enable the save_lineage setting by default if the multiple parents
diff --git a/modules/hs_content_taxonomy.install b/modules/hs_content_taxonomy.install
new file mode 100644
index 0000000..8a48067
--- /dev/null
+++ b/modules/hs_content_taxonomy.install
@@ -0,0 +1,45 @@
+<?php
+// $Id$
+
+/**
+ * @file
+ * Install file for the Hierarchical Select Content Taxonomy module.
+ */
+
+/**
+ * Support for per-node config #1349192
+ */
+function hs_content_taxonomy_update_6001() {
+  $ret = array();
+
+  $content_types = content_types();
+  $fields = content_fields();
+
+  $found_variables = array();
+
+  foreach ($fields as $field_name => $field) {
+    if ($field['type'] == 'content_taxonomy') {
+      foreach ($content_types as $content_type_name => $content_type) {
+        if (isset($content_type['fields'][$field_name]) && $content_type['fields'][$field_name]['widget']['type'] == 'content_taxonomy_hs') {
+          $config_id_old = "content-taxonomy-$field_name";
+          $config_id_new = "content-taxonomy-$content_type_name|$field_name";
+
+          if ($config = variable_get('hs_config_' . $config_id_old, NULL)) {
+            $config['config_id'] = $config_id_new;
+            variable_set('hs_config_' . $config_id_new, $config);
+            $found_variables[] = 'hs_config_' . $config_id_old;
+
+            $ret[] = array('success' => TRUE, 'query' => t('Added HS config for @node_type->@field_name', array('@node_type' => $content_type_name, '@field_name' => $field_name)));
+          }
+        }
+      }
+    }
+  }
+
+  foreach (array_unique($found_variables) as $variable) {
+    variable_del($variable);
+    $ret[] = array('success' => TRUE, 'query' => t('Removed orphaned HS config variable @var', array('@var' => $variable)));
+  }
+
+  return $ret;
+}
\ No newline at end of file
diff --git a/modules/hs_content_taxonomy.module b/modules/hs_content_taxonomy.module
index 75fb9e6..d8ca3e1 100644
--- a/modules/hs_content_taxonomy.module
+++ b/modules/hs_content_taxonomy.module
@@ -152,6 +152,7 @@ function hs_content_taxonomy_widget_settings($op, $widget) {
  */
 function hs_content_taxonomy_widget(&$form, &$form_state, $field, $items, $delta = 0) {
   $field_name = $field['field_name'];
+  $node_type  = $field['type_name'];
   $vid        = $field['vid'];
   $tid        = content_taxonomy_field_get_parent($field);
   $depth      = (empty($field['depth'])) ? 0 : $field['depth'];
@@ -203,7 +204,7 @@ function hs_content_taxonomy_widget(&$form, &$form_state, $field, $items, $delta
   );
   unset($form[$field_name]['#options']); // Unset to prevent passing around of possibly huge HTML.
   unset($form[$field_name]['#theme']);   // Unset to prevent theme_taxonomy_term_select() from running.
-  hierarchical_select_common_config_apply($form[$field_name]['tids'], "content-taxonomy-$field_name");
+  hierarchical_select_common_config_apply($form[$field_name]['tids'], "content-taxonomy-$node_type|$field_name");
   return $form;
 }
 
@@ -291,13 +292,14 @@ function theme_hs_content_taxonomy_formatter_hierarchical($element) {
   // $element contains only field name; so we use cck function to get more info.
   $field = content_fields($element['#field_name'], $element['#type_name']);
   $field_name = $field['field_name'];
+  $node_type  = $field['type_name'];
   $vid        = $field['vid'];
   $tid        = (empty($field['tid'])) ? 0 : $field['tid'];
   $depth      = (empty($field['depth'])) ? 0 : $field['depth'];
 
   // Get the config for this field.
   require_once(drupal_get_path('module', 'hierarchical_select') .'/includes/common.inc');
-  $config_id = "content-taxonomy-$field_name";
+  $config_id = "content-taxonomy-$node_type|$field_name";
   $config = hierarchical_select_common_config_get($config_id);
   $config += array(
     'module' => 'hs_content_taxonomy',
@@ -491,7 +493,7 @@ function hs_content_taxonomy_hierarchical_select_config_info() {
           if (isset($content_type['fields'][$field_name]) && $content_type['fields'][$field_name]['widget']['type'] == 'content_taxonomy_hs') {
             $vocabulary = taxonomy_vocabulary_load($field['vid']);
 
-            $config_id = "content-taxonomy-$field_name";
+            $config_id = "content-taxonomy-$content_type_name|$field_name";
             $config_info["$config_id|$content_type_name"] = array(
               'config_id'      => $config_id,
               'hierarchy type' => t('Content Taxonomy'),
