Multiple forms on the same page are causing conflicts? I have the following code. 

function mymodule_get_node_create_or_edit_form($nodeType = '', $inputNode = null, $prepopulationFields = array())
{
  if (empty($inputNode))
  {
    $values = array(
      'type' =&gt; $nodeType,
    );
    $values = array_merge($values, $prepopulationFields);
    $node = \Drupal::entityTypeManager()
      -&gt;getStorage('node')
      -&gt;create($values);
    $form = \Drupal::service('entity.form_builder')-&gt;getForm($node);
  }
  else
  {
    $form = \Drupal::entityTypeManager()
      -&gt;getFormObject('node', 'default')
      -&gt;setEntity($inputNode);
    $form = \Drupal::formBuilder()-&gt;getForm($form);
  }

  return \Drupal::service('renderer')-&gt;render($form);
}


I use this function to create edit forms for a node. So I can, for example, create a form that can be used to create a form:

print mymodule_get_node_create_or_edit_form('page', null, array());


Or I can get the edit form:

$node = node_load(1);
print mymodule_get_node_create_or_edit_form($node-&gt;getType(), $node , array());


The problem is if I execute both on the same page. Eg:

print mymodule_get_node_create_or_edit_form('page', null, array());
$node = node_load(1);
print mymodule_get_node_create_or_edit_form($node-&gt;getType(), $node , array());


If I now make changes to node 1, instead of saving it, it creates a new node with the changes I made, Instead of actually editing the existing node.
I recently had the same issue and found a workaround in the corresponding Drupal core issue: The same form twice on one page with different arguments may process the wrong form when submitted.

The third comment suggests to enable FormState caching, and that worked great for me.

$form_state-&gt;setRequestMethod('POST');
$form_state-&gt;setCached(TRUE);