This seems to have fixed it for me, give it a try...
Replace the function in /classes/Cart.php, protected function updateCustomizationQuantity, with the following code..
```
protected function _updateCustomizationQuantity($quantityChange, $idCustomization, $idProduct, $idProductAttribute, $idAddressDelivery, $operator = 'up')
{
// Link customization to product combination when it is first added to cart
if (empty($idCustomization)) {
$customization = $this->getProductCustomization($idProduct, null, true);
foreach ($customization as $field) {
if ($field['quantity'] == 0) {
Db::getInstance()->execute('
UPDATE '._DB_PREFIX_.'customization
SET quantity = '.(int) $quantityChange.',
id_product_attribute = '.(int) $idProductAttribute.',
id_address_delivery = '.(int) $idAddressDelivery.',
in_cart = 1
WHERE id_customization = '.(int) $field['idcustomization']);
}
}
}
/* Deletion */
if (!empty($idCustomization) && (int) $quantityChange < 1) {
return $this->_deleteCustomization((int) $idCustomization, (int) $idProduct, (int) $idProductAttribute);
}
/* Quantity update */
if (!empty($idCustomization)) {
$result = Db::getInstance()->getRow('SELECT `quantity` FROM `'._DB_PREFIX_.'customization` WHERE `id_customization` = '.(int) $idCustomization);
if ($result && Db::getInstance()->NumRows()) {
if ($operator == 'down' && (int)$result['quantity'] - (int) $quantityChange < 1) {
return Db::getInstance()->execute('DELETE FROM `'._DB_PREFIX_.'customization` WHERE `id_customization` = '.(int) $idCustomization);
}
return Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'customization`
SET
`quantity` = `quantity` '.($operator == 'up' ? '+ ' : '- ').(int) $quantityChange.',
`id_address_delivery` = '.(int) $idAddressDelivery.',
`in_cart` = 1
WHERE `id_customization` = '.(int) $idCustomization);
} else {
Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'customization`
SET `id_address_delivery` = '.(int) $idAddressDelivery.',
`in_cart` = 1
WHERE `id_customization` = '.(int) $idCustomization);
}
}
// refresh cache of static::_products
$this->_products = $this->getProducts(true);
$this->update();
return true;
}
```
if this works for everyone, I'll make a pull request for it..