diff --git a/conditional_fields.api.inc b/conditional_fields.api.inc
index 7b6b979..a6c1872 100644
--- a/conditional_fields.api.inc
+++ b/conditional_fields.api.inc
@@ -213,7 +213,8 @@ function conditional_fields_get_state(EntityFormDisplayInterface $form_display,
     // in $options. Format of #states depend on field widget and field
     // cardinality (it can be like value: string and value: [array]).
     $field_config = FieldStorageConfig::loadByName($form_display->getTargetEntityTypeId(), $dependee);
-    $options['field_cardinality'] = $field_config->getCardinality();
+    if ($field_config)
+      $options['field_cardinality'] = $field_config->getCardinality();
 
     // Execute special handler for fields that need further processing.
     // The handler has no return value. Modify the $state parameter by
@@ -311,15 +312,19 @@ function conditional_fields_dependent_validate($element, FormStateInterface &$fo
 
   // TODO: refactor this!
   if ($evaluated_dependencies = conditional_fields_evaluate_dependencies($dependent, $form, $form_state, FALSE)) {
+
     foreach ($evaluated_dependencies[reset($dependent['field_parents'])] as $operator) {
       foreach ($operator as $state => $result) {
+
         if (($result && $state == 'visible' && $triggered) || (!$result && $state == '!visible' && !$triggered)) {
           $return = TRUE;
         }
         if (($result && $state == 'required' && $triggered) || (!$result && $state == '!required' && !$triggered)) {
           $return = TRUE;
           $key_exists = NULL;
+
           $input_state = NestedArray::getValue($form_state->getValues(), $dependent['field_parents'], $key_exists);
+
           if ($key_exists && isset($input_state['add_more'])) {
             // Remove the 'value' of the 'add more' button.
             unset($input_state['add_more']);
