diff --git a/vendor/magento/module-bundle/Model/LinkManagement.php b/vendor/magento/module-bundle/Model/LinkManagement.php
index 9bc056a3e9a8..dad199566bb9 100644
--- a/vendor/magento/module-bundle/Model/LinkManagement.php
+++ b/vendor/magento/module-bundle/Model/LinkManagement.php
@@ -351,6 +351,7 @@ public function addChild(
         }
 
         $selectionModel = $this->bundleSelection->create();
+        $selectionModel->load($linkedProduct->getId());
         $selectionModel = $this->mapProductLinkToBundleSelectionModel(
             $selectionModel,
             $linkedProduct,
diff --git a/vendor/magento/module-bundle/Model/Selection.php b/vendor/magento/module-bundle/Model/Selection.php
index 3137f723e57c..ea115c343d43 100644
--- a/vendor/magento/module-bundle/Model/Selection.php
+++ b/vendor/magento/module-bundle/Model/Selection.php
@@ -5,6 +5,8 @@
  */
 namespace Magento\Bundle\Model;
 
+use Magento\Framework\App\ObjectManager;
+
 /**
  * Bundle Selection Model
  *
@@ -36,8 +38,6 @@
 class Selection extends \Magento\Framework\Model\AbstractModel
 {
     /**
-     * Catalog data
-     *
      * @var \Magento\Catalog\Helper\Data
      */
     protected $_catalogData;
@@ -82,7 +82,9 @@ public function beforeSave()
     {
         if (!$this->_catalogData->isPriceGlobal() && $this->getWebsiteId()) {
             $this->setData('tmp_selection_price_value', $this->getSelectionPriceValue());
+            $this->setData('tmp_selection_price_type', $this->getSelectionPriceType());
             $this->setSelectionPriceValue($this->getOrigData('selection_price_value'));
+            $this->setSelectionPriceType($this->getOrigData('selection_price_type'));
         }
         parent::beforeSave();
     }
@@ -98,6 +100,9 @@ public function afterSave()
             if (null !== $this->getData('tmp_selection_price_value')) {
                 $this->setSelectionPriceValue($this->getData('tmp_selection_price_value'));
             }
+            if (null !== $this->getData('tmp_selection_price_type')) {
+                $this->setSelectionPriceType($this->getData('tmp_selection_price_type'));
+            }
             $this->getResource()->saveSelectionPrice($this);
 
             if (!$this->getDefaultPriceScope()) {
