diff --git a/src/Plugin/Field/FieldWidget/InlineEntityFormComplex.php b/src/Plugin/Field/FieldWidget/InlineEntityFormComplex.php
index fb9e1fdad63de5cff45cac6a48330bb8d8266876..b0877684e1939f50d73de743f2905b2e54bb32e9 100644
--- a/src/Plugin/Field/FieldWidget/InlineEntityFormComplex.php
+++ b/src/Plugin/Field/FieldWidget/InlineEntityFormComplex.php
@@ -814,6 +814,23 @@ class InlineEntityFormComplex extends InlineEntityFormBase implements ContainerF
     }
     $triggering_element = $form_state->getTriggeringElement();
     if (empty($triggering_element['#ief_submit_trigger'])) {
+      $field_name = $this->fieldDefinition->getName();
+      $parents = array_merge($form['#parents'], [$field_name, 'form']);
+      // Build IEF ID form inline field
+      $ief_id = $this->makeIefId($parents);
+      $this->setIefId($ief_id);
+      // Get values entities by IEF ID in inline_entity_form
+      $widget_state = &$form_state->get(['inline_entity_form', $ief_id]);
+      // Sort items items base on weights.
+      if(isset($widget_state['entities']) && !empty($widget_state['entities'])){
+        $values = $widget_state['entities'];
+        uasort($values, '\Drupal\Component\Utility\SortArray::sortByWeightElement');
+        // Let the widget massage the submitted values.
+        $values = $this->massageFormValues($values, $form, $form_state);
+        // Assign the values and remove the empty ones.
+        $items->setValue($values);
+        $items->filterEmptyItems();
+      }
       return;
     }