diff --git a/src/Plugin/Field/FieldWidget/InlineParagraphsWidget.php b/src/Plugin/Field/FieldWidget/InlineParagraphsWidget.php
index 4c29867..ff416d6 100644
--- a/src/Plugin/Field/FieldWidget/InlineParagraphsWidget.php
+++ b/src/Plugin/Field/FieldWidget/InlineParagraphsWidget.php
@@ -1082,7 +1082,7 @@ class InlineParagraphsWidget extends WidgetBase {
 
         /** @var \Drupal\Core\Entity\Display\EntityFormDisplayInterface $display */
         $display =  $widget_state['paragraphs'][$item['_original_delta']]['display'];
-        if ($widget_state['paragraphs'][$delta]['mode'] == 'edit') {
+        if ($widget_state['paragraphs'][$item['_original_delta']]['mode'] == 'edit') {
           $display->extractFormValues($paragraphs_entity, $element[$item['_original_delta']]['subform'], $form_state);
         }
         $paragraphs_entity->setNewRevision($new_revision);
diff --git a/src/Tests/ParagraphsInlineEntityFormTest.php b/src/Tests/ParagraphsInlineEntityFormTest.php
index 906f878..e913a05 100644
--- a/src/Tests/ParagraphsInlineEntityFormTest.php
+++ b/src/Tests/ParagraphsInlineEntityFormTest.php
@@ -69,6 +69,75 @@ class ParagraphsInlineEntityFormTest extends ParagraphsTestBase {
   }
 
   /**
+   * Tests the reordering of previewed paragraphs.
+   */
+  public function testParagraphsIEFChangeOrder() {
+
+    // Create article content type with a paragraphs field.
+    $this->addParagraphedContentType('article', 'field_paragraphs');
+    $this->loginAsAdmin(['create article content', 'edit any article content']);
+
+    // Create the paragraphs type simple.
+    $this->addParagraphsType('simple');
+
+    // Create a reference to an article.
+    $this->fieldUIAddNewField('admin/structure/paragraphs_type/simple', 'article', 'Article', 'field_ui:entity_reference:node', [
+      'settings[target_type]' => 'node',
+      'cardinality' => 'number',
+      'cardinality_number' => '1',
+    ], [
+      'required' => TRUE,
+      'settings[handler_settings][target_bundles][article]' => TRUE
+    ]);
+
+    // Set cardinality explicit to -1.
+    $this->drupalGet('admin/structure/types/manage/article/fields/node.article.field_paragraphs/storage');
+    $edit = [
+      'settings[target_type]' => 'paragraph',
+      'cardinality' => '-1',
+    ];
+    $this->drupalPostForm(NULL, $edit, t('Save field settings'));
+
+    // Enable IEF simple widget.
+    $this->drupalGet('admin/structure/paragraphs_type/simple/form-display');
+    $edit = [
+      'fields[field_article][type]' => 'inline_entity_form_simple',
+    ];
+    $this->drupalPostForm(NULL, $edit, t('Save'));
+
+    // Set the paragraphs widget mode to preview.
+    $this->setParagraphsWidgetMode('article', 'field_paragraphs', 'preview');
+
+    // Create node with one paragraph.
+    $this->drupalGet('node/add/article');
+    $this->drupalPostAjaxForm(NULL, [], 'field_paragraphs_simple_add_more');
+
+    // Set the values and save.
+    $edit = [
+      'title[0][value]' => 'Article 1',
+      'field_paragraphs[0][subform][field_article][0][inline_entity_form][title][0][value]' => 'Basic page 1',
+    ];
+
+    $this->drupalPostForm(NULL, $edit, t('Save and publish'));
+
+    // Go back into edit page.
+    $node = $this->getNodeByTitle('Article 1');
+    $this->drupalGet('node/' . $node->id() . '/edit');
+
+    // Create second paragraph.
+    $this->drupalPostAjaxForm(NULL, [], 'field_paragraphs_simple_add_more');
+
+    // Set the values of second paragraph and change the order.
+    $edit = [
+      'field_paragraphs[1][subform][field_article][0][inline_entity_form][title][0][value]' => 'Basic 2',
+      'field_paragraphs[0][_weight]' => -1,
+      'field_paragraphs[1][_weight]' => -2,
+    ];
+    $this->drupalPostForm(NULL, $edit, t('Save and keep published'));
+  }
+
+
+  /**
    * Sets the Paragraphs widget display mode.
    *
    * @param string $content_type
