diff --git a/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php b/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
index 084bd56..580461d 100644
--- a/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
+++ b/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
@@ -91,6 +91,19 @@ class ContentEntitySource extends SourcePluginBase implements SourcePreviewInter
 
     $translation = $entity->getTranslation($job_item->getJob()->getSourceLangcode());
     $data = $this->extractTranslatableData($translation);
+    $default = count(Element::children($data));
+    $entity_form_display = entity_get_form_display($job_item->getItemType(), $entity->bundle(), 'default');
+    foreach (Element::children($data) as $key) {
+      if ($entity_form_display->getComponent($key) && !is_null($entity_form_display->getComponent($key)['weight'])) {
+        $data[$key]['#weight'] = (int) $entity_form_display->getComponent($key)['weight'];
+      }
+      else {
+        $data[$key]['#weight'] = ++$default;
+      }
+    }
+    uasort($data, function ($a, $b) {
+      return $a['#weight'] > $b['#weight'];
+    });
     return $data;
   }
 
diff --git a/sources/content/src/Tests/ContentEntitySourceUiTest.php b/sources/content/src/Tests/ContentEntitySourceUiTest.php
index aa7c2d5..849d53e 100644
--- a/sources/content/src/Tests/ContentEntitySourceUiTest.php
+++ b/sources/content/src/Tests/ContentEntitySourceUiTest.php
@@ -741,4 +741,101 @@ class ContentEntitySourceUiTest extends EntityTestBase {
     $this->assertText($updated_body, 'Source updated correctly.');
   }
 
+  /**
+   * Test consider field sequences.
+   */
+  public function testConsiderFieldSequences() {
+    $this->createNodeType('article1', 'Article 1', TRUE, FALSE);
+
+    for ($i = 0; $i <= 5; $i++) {
+      // Create a field.
+      $field_storage = FieldStorageConfig::create(array(
+        'field_name' => 'field_' . $i,
+        'entity_type' => 'node',
+        'type' => 'text',
+        'cardinality' => mt_rand(1, 5),
+        'translatable' => TRUE,
+      ));
+      $field_storage->save();
+
+      // Create an instance of the previously created field.
+      $field = FieldConfig::create(array(
+        'field_name' => 'field_' . $i,
+        'entity_type' => 'node',
+        'bundle' => 'article1',
+        'label' => 'Field' . $i,
+        'description' => $this->randomString(30),
+        'widget' => array(
+          'type' => 'text',
+          'label' => $this->randomString(10),
+        ),
+      ));
+      $field->save();
+      $this->field_names['node']['article1'][] = 'field_' . $i;
+    }
+
+    $node = $this->createTranslatableNode('article1', 'en');
+
+    entity_get_form_display('node', 'article1', 'default')
+      ->setComponent('body', array(
+        'type' => 'text_textarea_with_summary',
+        'weight' => 0,
+      ))
+      ->setComponent('title', array(
+        'type' => 'string_textfield',
+        'weight' => 1,
+      ))
+      ->setComponent('field_1', array(
+        'type' => 'string_textfield',
+        'weight' => 2,
+      ))
+      ->setComponent('field_5', array(
+        'type' => 'string_textfield',
+        'weight' => 3,
+      ))
+      ->setComponent('field_3', array(
+        'type' => 'string_textfield',
+        'weight' => 4,
+      ))
+      ->setComponent('field_2', array(
+        'type' => 'string_textfield',
+        'weight' => 5,
+      ))
+      ->setComponent('field_0', array(
+        'type' => 'string_textfield',
+        'weight' => 6,
+      ))
+      ->setComponent('field_4', array(
+        'type' => 'string_textfield',
+        'weight' => 7,
+      ))
+      ->save();
+
+    $job = $this->createJob('en', 'de');
+    $job->translator = $this->default_translator->id();
+    $job->addItem('content', $node->getEntityTypeId(), $node->id());
+    $job->save();
+
+    $job->requestTranslation();
+
+    // Visit job item review page.
+    $this->drupalGet(URL::fromRoute('entity.tmgmt_job_item.canonical', ['tmgmt_job_item' => $node->id()]));
+    $edit_review = $this->xpath('//*[@id="edit-review"]');
+
+    $key = 0;
+    $ids = [];
+    foreach ($edit_review[0]->children() as $child) {
+      $ids[$key++] = (string) $child['id'];
+    }
+    // Check are fields showing on page in desired order.
+    $this->assertEqual($ids[0], 'tmgmt-ui-element-body-wrapper');
+    $this->assertEqual($ids[1], 'tmgmt-ui-element-title-wrapper');
+    $this->assertEqual($ids[2], 'tmgmt-ui-element-field-1-wrapper');
+    $this->assertEqual($ids[3], 'tmgmt-ui-element-field-5-wrapper');
+    $this->assertEqual($ids[4], 'tmgmt-ui-element-field-3-wrapper');
+    $this->assertEqual($ids[5], 'tmgmt-ui-element-field-2-wrapper');
+    $this->assertEqual($ids[6], 'tmgmt-ui-element-field-0-wrapper');
+    $this->assertEqual($ids[7], 'tmgmt-ui-element-field-4-wrapper');
+  }
+
 }
