Basic Cart - удаление товаров поштучно

В Basic Cart есть маленький грешок. Нельзя удалять товары поштучно.
Объясню. Если мы добавили в корзину 12 комплектов вилок. То при нажатии на удалить - удаляться все эти 12 комплектов. А не один.

Собственно, для тех кто не догадался где подсмотреть и как исправить этот минус:
1. Регистрируем новый путь или перехватываем текущий ('cart/remove')
2. Пишем функцию на основе basic_cart_add_to_cart, которая умеет добавлять товары поштучно.

Что вышло:
function _basic_cart_remove_from_cart($nid = NULL, $quantity = 1) {
  $nid = (int) $nid;
  $quantity = (int) $quantity;
  if ($nid > 0 && $quantity > 0) {
    $cart = basic_cart_get_cart();
    if (!empty($cart) && $_SESSION['basic_cart']['cart'][$nid]->basic_cart_quantity !=1) {
      $_SESSION['basic_cart']['cart'][$nid]->basic_cart_quantity -= $quantity;
    }
    else {
     unset($_SESSION['basic_cart']['cart'][$nid]);
    }
  }
  drupal_set_message(t('Shopping cart updated.'));
  drupal_goto('cart');
}