--- conditional_fields.module	2011-02-28 05:02:24.000000000 +0200
+++ conditional_fields.module	2011-02-28 05:30:52.000000000 +0200
@@ -309,6 +309,9 @@ function conditional_fields_form_alter(&
     case 'content_copy_import_form':
       $form['#submit'][] = 'conditional_fields_import';
       break;
+    case 'user_register':
+      conditional_fields_node_editing_form($form, $form_state);
+      break;
   }
 
   if (isset($form['type']['#value']) && $form_id == $form['type']['#value'] . '_node_form') {
@@ -644,6 +647,19 @@ function conditional_fields_node_after_b
     return $form;
   }
 
+  if (array_key_exists('#content_profile_registration_use_types', $form) && is_array($form['#content_profile_registration_use_types'])) {
+    $type_value = $form['type']['#value'];
+    $content_profile_registration_use_types = $form['#content_profile_registration_use_types'];
+    unset($form['#content_profile_registration_use_types']);
+    foreach ($content_profile_registration_use_types as $type_name => $value) {
+      $form['type']['#value'] = $type_name;
+      $form = conditional_fields_node_after_build($form, $form_state);
+    }
+    $form['#content_profile_registration_use_types'] = $content_profile_registration_use_types;
+    $form['type']['#value'] = $type_value;
+    return $form;
+  }
+
   $type_name = $form['type']['#value'];
 
   // Do nothing if there are no conditional fields
@@ -966,7 +982,7 @@ function conditional_fields_node_editing
         else {
           // Do not submit values of controlled fields which were not triggered (except on preview)
           if (variable_get('c_fields_reset_default_' . $form['type']['#value'], 1) &&
-            !in_array('node_form_build_preview', $form_state['submit_handlers'])) {
+            !in_array('node_form_build_preview', (array)$form_state['submit_handlers'])) {
               // Load default values like in content_field_form() in content.node_form.inc
               $field_in_group_info = $form['#field_info'][$field_in_group];
               if (content_callback('widget', 'default value', $field_in_group_info) != CONTENT_CALLBACK_NONE) {
