? condition_filds_hierarchcial_select.patch
Index: conditional_fields.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/conditional_fields/conditional_fields.module,v
retrieving revision 1.7
diff -u -p -r1.7 conditional_fields.module
--- conditional_fields.module	11 May 2009 13:27:53 -0000	1.7
+++ conditional_fields.module	11 Oct 2009 11:31:16 -0000
@@ -530,7 +530,7 @@ function conditional_fields_node_editing
           if (!$form[$field['control_field_in_group']][$field['control_field_name']]  || 
                $form[$field['control_field_in_group']][$field['control_field_name']]['#type'] == 'markup' || 
                $form[$field['control_field_in_group']][$field['control_field_name']]['#access'] == FALSE) {
-            if (!$show_triggered || !in_array($form_state['values'][$field['control_field_name']][0]['value'], $field['trigger_values'])) {
+            if (!$show_triggered || !in_array($form_state['values'][$field['control_field_name']][0]['value'], $field['trigger_values']) && !$form[$field['control_field_in_group']][$field['control_field_name']]["tids"]) {
               unset($form[$field['control_field_in_group']][$field['field_name']]);
               unset($data[$key]);
             }
@@ -540,7 +540,7 @@ function conditional_fields_node_editing
           if (!$form[$field['control_field_name']] || 
                $form[$field['control_field_name']]['#type'] == 'markup' ||
                $form[$field['control_field_name']]['#access'] == FALSE) {
-            if (!$show_triggered || !in_array($form_state['values'][$field['control_field_name']][0]['value'], $field['trigger_values'])) {
+            if (!$show_triggered || !in_array($form_state['values'][$field['control_field_name']][0]['value'], $field['trigger_values'])  && !$form[$field['control_field_name']]["tids"]) {
               unset($form[$field['field_name']]);
               unset($data[$key]);
             }
