--- uc_cart/uc_cart.module	2010-10-04 00:36:19.414789189 +0000
+++ uc_cart/uc_cart.module.buttons	2010-10-04 00:35:11.304569217 +0000
@@ -946,6 +946,8 @@ function uc_cart_view_form($form_state, 
       $description = $display_item['title']['#value'] . $display_item['description']['#value'];
       $form['items'][$i]['desc']['#value'] = $description;
 
+      $form['items'][$i]['remove'] = array('#type' => 'submit', '#value' => 'Remove', '#name' => 'cart-delete-item-'. $display_item['nid']['#value']);
+
       $form['items'][$i]['title']['#type'] = 'value';
       $form['items'][$i]['description']['#type'] = 'value';
 
@@ -1016,7 +1018,7 @@ function uc_cart_view_form_submit($form,
   }
 
   // Update the items in the shopping cart based on the form values.
-  uc_cart_update_item_object((object)$form_state['values']);
+  uc_cart_update_item_object((object)$form_state['values'], (array)$form_state['clicked_button']);
 
   // Specify the appropriate redirect based on the button used to submit.
   switch ($form_state['values']['op']) {
@@ -1594,10 +1596,10 @@ function uc_cart_remove_item($nid, $cid 
 /**
  * Update the quantity of all the items in a cart object
  */
-function uc_cart_update_item_object($cart) {
+function uc_cart_update_item_object($cart, $clicked_button) {
   if (is_object($cart)) {
     foreach ($cart->items as $item) {
-      if ($item['remove']) {
+      if ($clicked_button['#name'] == 'cart-delete-item-'. $item['nid']) {
         module_invoke($item['module'], 'update_cart_item', $item['nid'], unserialize($item['data']), 0);
       }
       else {
