diff --git a/uc_product/src/Form/AddToCartForm.php b/uc_product/src/Form/AddToCartForm.php
index 63468d2..2ac368e 100644
--- a/uc_product/src/Form/AddToCartForm.php
+++ b/uc_product/src/Form/AddToCartForm.php
@@ -16,10 +16,20 @@ use Drupal\node\NodeInterface;
 class AddToCartForm extends BuyItNowForm {
 
   /**
+   * Constructs an AddToCartForm.
+   *
+   * @param string $nid
+   *   The node ID.
+   */
+  public function __construct($nid) {
+    parent::__construct($nid);
+  }
+
+  /**
    * {@inheritdoc}
    */
   public function getFormId() {
-    return 'uc_product_add_to_cart_form';
+    return 'uc_product_add_to_cart_form_' . $this->nid;
   }
 
   /**
diff --git a/uc_product/src/Form/BuyItNowForm.php b/uc_product/src/Form/BuyItNowForm.php
index 56044a0..78b4be4 100644
--- a/uc_product/src/Form/BuyItNowForm.php
+++ b/uc_product/src/Form/BuyItNowForm.php
@@ -19,10 +19,27 @@ use Drupal\uc_cart\Controller\Cart;
 class BuyItNowForm extends FormBase {
 
   /**
+   * Node ID of product this form is attached to.
+   *
+   * @var string
+   */
+  protected $nid;
+
+  /**
+   * Constructs a BuyItNowForm.
+   *
+   * @param string $nid
+   *   The node ID.
+   */
+  public function __construct($nid) {
+    $this->nid = $nid;
+  }
+
+  /**
    * {@inheritdoc}
    */
   public function getFormId() {
-    return 'uc_product_buy_it_now_form';
+    return 'uc_product_buy_it_now_form_' . $this->nid;
   }
 
   /**
diff --git a/uc_product/src/Plugin/views/field/BuyItNow.php b/uc_product/src/Plugin/views/field/BuyItNow.php
index f83b595..715472d 100644
--- a/uc_product/src/Plugin/views/field/BuyItNow.php
+++ b/uc_product/src/Plugin/views/field/BuyItNow.php
@@ -26,7 +26,8 @@ class BuyItNow extends FieldPluginBase {
     $nid = $this->getValue($values);
     $node = node_load($nid);
     if (uc_product_is_product($node)) {
-      $form = \Drupal::formBuilder()->getForm('\Drupal\uc_product\Form\BuyItNowForm', $node);
+      $form_object = new \Drupal\uc_product\Form\BuyItNowForm($node->id());
+      $form = \Drupal::formBuilder()->getForm($form_object, $node);
       return drupal_render($form);
     }
   }
diff --git a/uc_product/uc_product.module b/uc_product/uc_product.module
index e3eb695..bb3d5ff 100644
--- a/uc_product/uc_product.module
+++ b/uc_product/uc_product.module
@@ -263,7 +263,8 @@ function uc_product_view_product(array &$build, NodeInterface $node, EntityViewD
     // Build the 'add to cart' form, and use the updated variant based on data
     // provided by the form (e.g. attribute default options).
     if (\Drupal::moduleHandler()->moduleExists('uc_cart') && $variant->id() && empty($variant->data['display_only'])) {
-      $add_to_cart_form = \Drupal::formBuilder()->getForm('\Drupal\uc_product\Form\AddToCartForm', $variant);
+      $form_object = new \Drupal\uc_product\Form\AddToCartForm($node->id());
+      $add_to_cart_form = \Drupal::formBuilder()->getForm($form_object, $variant);
       if (\Drupal::config('uc_product.settings')->get('update_node_view')) {
         $variant = $add_to_cart_form['node']['#value'];
       }
