diff --git a/src/Form/ShopifyVariantOptionsForm.php b/src/Form/ShopifyVariantOptionsForm.php
index 8709e21..18dcdb6 100644
--- a/src/Form/ShopifyVariantOptionsForm.php
+++ b/src/Form/ShopifyVariantOptionsForm.php
@@ -28,6 +28,9 @@ class ShopifyVariantOptionsForm extends FormBase {
     // Disable caching of this form.
     $form['#cache']['max-age'] = 0;
     $options = $product->options->get(0)->toArray();
+    foreach ($options as &$option) {
+      $option = $this->fixIncompleteObject($option);
+    }
     $form_state->set('product', $product);
 
     $variant_id = \Drupal::request()->get('variant_id', FALSE);
@@ -85,6 +88,21 @@ class ShopifyVariantOptionsForm extends FormBase {
     $this->goToVariantWithOptions($form_state->getValue('options'), $form_state);
   }
 
+  /**
+   * Fix Incomplete Object PHP error caused by SA-CORE-2019-003 security release which
+   * uses unserialize($values, ['allowed_classes' => FALSE]); and thus turns the unserialized
+   * object into a "__PHP_Incomplete_Class" object.
+   * @param $object
+   * @return mixed
+   */
+  private function fixIncompleteObject($object) {
+    if (!is_object($object) && gettype ($object) == 'object') {
+      // Serialize then unserialize the object back without the allowed_classes FALSE option.
+      return ($object = unserialize(serialize($object)));
+    }
+    return $object;
+  }
+
   /**
    * Redirects the page to the product with a variant selected.
    *
