diff --git a/conditional_fields.module b/conditional_fields.module
index 4d0b87c..6abea67 100755
--- a/conditional_fields.module
+++ b/conditional_fields.module
@@ -995,7 +995,16 @@ function conditional_fields_check_empty($field) {
   elseif (isset($field[0]['nid'])) {
     $value = $field[0]['nid'];
   }
-
+  //Location CCK
+  elseif (is_array($subfields = $field[0]['location_settings']['form']['fields'])) {
+    if ($field[0]['delete_location']) return FALSE;
+    foreach($subfields as $subfield_name => $subfield) {
+      if ($subfield['collect'] == '2' && !$field[0][$subfield_name]) {
+        return TRUE;
+      }
+    }
+    return FALSE;
+  }
   if (!count($value) || (is_string($value) && drupal_strlen(trim($value)) == 0)) {
     return TRUE;
   }
@@ -1282,7 +1291,9 @@ function conditional_fields_set_required_field($item) {
  * indicates they are required when visible.
  */
 function conditional_fields_set_required_field_recurse(&$item) {
-  $item['#required'] = TRUE;
+  if ($item['#conditional_fields_required']) {
+    $item['#required'] = TRUE;
+  }
   foreach (element_children($item) as $child) {
     conditional_fields_set_required_field_recurse($item[$child]);
   }
