Index: conditional_fields.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/conditional_fields/conditional_fields.module,v
retrieving revision 1.1.2.18
diff -u -p -r1.1.2.18 conditional_fields.module
--- conditional_fields.module	23 May 2008 16:17:12 -0000	1.1.2.18
+++ conditional_fields.module	24 May 2008 02:24:05 -0000
@@ -589,10 +589,10 @@ function conditional_fields_node_editing
  * If it is required, it unsets the #required value, themes a mock required markup, sets a #required_field value, and returns TRUE.
  * If $is_unset is TRUE, the functions finds a #required_field value, and returns the field.
  */
+
 function conditional_fields_find_required_field(&$field, $is_unset = FALSE) {
   if ($field['#required'] && !$is_unset) {
     $field['#required'] = FALSE;
-    $field['#title'] = $field['#title'] . theme('conditional_field_required_title', $field['#title']);
     $field['#required_field'] = TRUE;
     return TRUE;
   }
@@ -844,11 +844,18 @@ function conditional_fields_allowed_valu
 }
 
 /**
- * Themes a mock required form element title.
- */
-function theme_conditional_field_required_title($title) {
-  if (!empty($title)) {
-    return '<span class="form-required" title="'. t('This field is required.') .'">*</span>';
+ * Recursive function to set required for all conditionally required fields.
+ * This causes Drupal to render conditionally required fields in a way that
+ * indicates they are required when visible.  e.g., with an asterisk.
+ */
+function conditional_fields_set_required_for_render(&$item) {
+  if ($item['#required_field']) {
+    $item['#required'] = TRUE;
+  }
+  else {
+    foreach(element_children($item) as $child) {
+      conditional_fields_set_required_for_render($item[$child]);
+    }
   }
 }
 
@@ -869,6 +876,7 @@ function theme_conditional_fields_form_i
     $output = '<div id="conditional-'. form_clean_id($id) .'" class="conditional-field controlling-field">'. drupal_render($item) .'</div>';
   }
   else if ($id = $item['#controlled_field']) {
+    conditional_fields_set_required_for_render(&$item);
     if ($item['#type'] == 'markup') {
       /* Avoid unnecessary divs in multiple fields */
       $item['#prefix'] = '<div id="conditional-'. form_clean_id($id) .'" class="conditional-field controlled-field">';
