diff --git a/inline_entity_form.module b/inline_entity_form.module
index 983cf6e..48adc49 100644
--- a/inline_entity_form.module
+++ b/inline_entity_form.module
@@ -269,8 +269,13 @@ function inline_entity_form_close_all_forms($elements, FormStateInterface $form_
     $form_state->set(['inline_entity_form', $ief_id, 'form'], NULL);
     // Close the row forms.
     $entities = $form_state->get(['inline_entity_form', $ief_id, 'entities']);
-    foreach ($entities as $key => $value) {
-      $entities[$key]['form'] = NULL;
+    if (isset($elements['#ief_row_delta']) && isset($entities[$elements['#ief_row_delta']])) {
+      $entities[$elements['#ief_row_delta']]['form'] = NULL;
+    }
+    else {
+      foreach ($entities as $key => $value) {
+        $entities[$key]['form'] = NULL;
+      }
     }
     $form_state->set(['inline_entity_form', $ief_id, 'entities'], $entities);
   }
diff --git a/src/Plugin/Field/FieldWidget/InlineEntityFormComplex.php b/src/Plugin/Field/FieldWidget/InlineEntityFormComplex.php
index 9162646..82b3fd6 100644
--- a/src/Plugin/Field/FieldWidget/InlineEntityFormComplex.php
+++ b/src/Plugin/Field/FieldWidget/InlineEntityFormComplex.php
@@ -894,7 +894,13 @@ class InlineEntityFormComplex extends InlineEntityFormBase implements ContainerF
    */
   public static function closeChildForms($form, FormStateInterface &$form_state) {
     $element = inline_entity_form_get_element($form, $form_state);
-    inline_entity_form_close_all_forms($element, $form_state);
+    $triggering_element = $form_state->getTriggeringElement();
+    if (isset($triggering_element['#ief_row_delta']) && isset($element['entities'][$triggering_element['#ief_row_delta']])) {
+      inline_entity_form_close_all_forms($element['entities'][$triggering_element['#ief_row_delta']], $form_state);
+    }
+    else {
+      inline_entity_form_close_all_forms($element, $form_state);
+    }
   }
 
 }
