diff --git a/content_complete.module b/content_complete.module
index 1ef1a1c..0b403ed 100755
--- a/content_complete.module
+++ b/content_complete.module
@@ -275,6 +275,27 @@ function content_complete_get_data(&$node, $recalculate = FALSE) {
     $tagged_fields = content_complete_get_tagged_fields($node->type); // Fields tagged for completeness (can be empty)
     $fields_values = content_complete_get_fields_values($node); // Completed fields (can be empty)
     
+    // If using conditional fields, ignore fields that are not currently
+    // available for editing when assessing completeness.
+    if (module_exists('conditional_fields')) {
+      $conditional_fields_data = conditional_fields_load_data($node->type);
+      $controlled_fields = array();
+      // Check which fields are controlled.
+      foreach ($conditional_fields_data as $row) {
+        $controlled_fields[$row['field_name']][$row['control_field_name']] = $row['trigger_values'];
+      }
+      $node_vars = get_object_vars($node);
+      foreach ($controlled_fields as $controlled_field_name => $controlled_field_parents) {
+        foreach ($controlled_field_parents as $controlling_field_name => $controlling_values) {
+          $field_inactive = !in_array($node_vars[$controlling_field_name][0]['value'], $controlling_values);
+          if ($field_inactive) {
+            unset($tagged_fields[array_search($controlled_field_name, $tagged_fields)]);
+            continue;
+          }
+        }
+      }
+    }
+
     $percent = 0;
     $complete = 0;
     $incomplete = 0;
