diff --git a/modules/line_item/includes/views/handlers/commerce_line_item_handler_field_edit_delete.inc b/modules/line_item/includes/views/handlers/commerce_line_item_handler_field_edit_delete.inc
index ccd4b0e..0effa60 100644
--- a/modules/line_item/includes/views/handlers/commerce_line_item_handler_field_edit_delete.inc
+++ b/modules/line_item/includes/views/handlers/commerce_line_item_handler_field_edit_delete.inc
@@ -46,6 +46,7 @@ class commerce_line_item_handler_field_edit_delete extends views_handler_field {
         '#value' => t('Delete'),
         '#name' => 'delete-line-item-' . $row_id,
         '#attributes' => array('class' => array('delete-line-item')),
+        '#limit_validation_errors' => array(),
         '#line_item_id' => $line_item_id,
         '#submit' => array_merge($form['#submit'], array('commerce_line_item_line_item_views_delete_form_submit')),
       );
@@ -55,14 +56,13 @@ class commerce_line_item_handler_field_edit_delete extends views_handler_field {
   function views_form_submit($form, &$form_state) {
     $order = commerce_order_load($form_state['order']->order_id);
     $field_name = $this->options['id'];
+    $triggering_element = $form_state['triggering_element'];
 
-    foreach (element_children($form[$field_name]) as $row_id) {
-      // Check for the removal of an item.
-      if ($form_state['triggering_element']['#name'] == 'delete-line-item-' . $row_id) {
-        $line_item_id = $form[$field_name][$row_id]['#line_item_id'];
-        // TODO: Remove this dependence on the Cart module API.
-        commerce_cart_order_product_line_item_delete($order, $line_item_id);
-      }
+    // React only if the Delete button was clicked.
+    if (strpos($triggering_element['#name'], 'delete-line-item-') === 0) {
+      $line_item_id = $triggering_element['#line_item_id'];
+      // TODO: Remove this dependence on the Cart module API.
+      commerce_cart_order_product_line_item_delete($order, $line_item_id);
     }
   }
 
diff --git a/modules/line_item/includes/views/handlers/commerce_line_item_handler_field_edit_quantity.inc b/modules/line_item/includes/views/handlers/commerce_line_item_handler_field_edit_quantity.inc
index e6b0d70..fc7d29b 100644
--- a/modules/line_item/includes/views/handlers/commerce_line_item_handler_field_edit_quantity.inc
+++ b/modules/line_item/includes/views/handlers/commerce_line_item_handler_field_edit_quantity.inc
@@ -56,41 +56,49 @@ class commerce_line_item_handler_field_edit_quantity extends views_handler_field
 
   function views_form_validate($form, &$form_state) {
     $field_name = $this->options['id'];
-    foreach (element_children($form[$field_name]) as $row_id) {
-      // Ensure the quantity is actually a numeric value.
-      $line_item_id = $form[$field_name][$row_id]['#line_item_id'];
-      if (!is_numeric($form_state['values'][$field_name][$row_id]) || $form_state['values'][$field_name][$row_id] < 0) {
-        form_set_error($field_name . '][' . $row_id, t('You must specify a positive number for the quantity'));
-      }
 
-      // If the custom data type attribute of the quantity element is integer,
-      // ensure we only accept whole number values.
-      if ($form[$field_name][$row_id]['#datatype'] == 'integer' &&
-        (int) $form_state['values'][$field_name][$row_id] != $form_state['values'][$field_name][$row_id]) {
-        form_set_error($field_name . '][' . $row_id, t('You must specify a whole number for the quantity.'));
+    // React only when one of the main submit buttons is clicked.
+    if ($form_state['triggering_element']['#name'] == 'op') {
+      foreach (element_children($form[$field_name]) as $row_id) {
+        // Ensure the quantity is actually a numeric value.
+        $line_item_id = $form[$field_name][$row_id]['#line_item_id'];
+        if (!is_numeric($form_state['values'][$field_name][$row_id]) || $form_state['values'][$field_name][$row_id] < 0) {
+          form_set_error($field_name . '][' . $row_id, t('You must specify a positive number for the quantity'));
+        }
+
+        // If the custom data type attribute of the quantity element is integer,
+        // ensure we only accept whole number values.
+        if ($form[$field_name][$row_id]['#datatype'] == 'integer' &&
+          (int) $form_state['values'][$field_name][$row_id] != $form_state['values'][$field_name][$row_id]) {
+          form_set_error($field_name . '][' . $row_id, t('You must specify a whole number for the quantity.'));
+        }
       }
     }
   }
 
   function views_form_submit($form, &$form_state) {
     $field_name = $this->options['id'];
-    foreach (element_children($form[$field_name]) as $row_id) {
-      $line_item_id = $form[$field_name][$row_id]['#line_item_id'];
-      // If the line item hasn't been deleted...
-      if ($line_item = commerce_line_item_load($line_item_id)) {
-        // And the quantity on the form is different...
-        if ($form_state['values'][$field_name][$row_id] != $line_item->quantity) {
-          if ($form_state['values'][$field_name][$row_id] == 0) {
-            // If the quantity specified is 0, the line item is deleted.
-            $order = commerce_order_load($form_state['order']->order_id);
-            commerce_cart_order_product_line_item_delete($order, $line_item_id);
-          }
-          else {
-            // Change the quantity and save the line item.
-            $line_item->quantity = $form_state['values'][$field_name][$row_id];
 
-            commerce_line_item_save($line_item);
-            entity_get_controller('commerce_line_item')->resetCache(array($line_item->line_item_id));
+    // React only when one of the main submit buttons is clicked.
+    if ($form_state['triggering_element']['#name'] == 'op') {
+      foreach (element_children($form[$field_name]) as $row_id) {
+        $line_item_id = $form[$field_name][$row_id]['#line_item_id'];
+        // If the line item hasn't been deleted...
+        if ($line_item = commerce_line_item_load($line_item_id)) {
+          // And the quantity on the form is different...
+          if ($form_state['values'][$field_name][$row_id] != $line_item->quantity) {
+            if ($form_state['values'][$field_name][$row_id] == 0) {
+              // If the quantity specified is 0, the line item is deleted.
+              $order = commerce_order_load($form_state['order']->order_id);
+              commerce_cart_order_product_line_item_delete($order, $line_item_id);
+            }
+            else {
+              // Change the quantity and save the line item.
+              $line_item->quantity = $form_state['values'][$field_name][$row_id];
+
+              commerce_line_item_save($line_item);
+              entity_get_controller('commerce_line_item')->resetCache(array($line_item->line_item_id));
+            }
           }
         }
       }
