diff --git a/entityqueue.module b/entityqueue.module
index 5163340..3e66a6c 100644
--- a/entityqueue.module
+++ b/entityqueue.module
@@ -1089,14 +1089,19 @@ function entityqueue_widget_dragtable_element_validate($element, &$form_state) {
   else {
     $existing_values = array();
   }
-  // If the trigger was a remove button.
+
+  // Determine which button has been clicked.
   $triggering_element = $form_state['triggering_element'];
   $triggering_key = end($triggering_element['#array_parents']);
   $triggering_field = reset($triggering_element['#array_parents']);
+
+  // Remove an item from the queue through the Remove button.
   if ($triggering_field === $field_name && $triggering_key === 'remove') {
     $remove_key = $triggering_element['#array_parents'][3];
     unset($existing_values[$remove_key]);
+    $form_state['entityqueue_changed'] = TRUE;
   }
+
   $values = array();
   $weights = array();
   foreach ($existing_values as $key => $row) {
@@ -1123,10 +1128,7 @@ function entityqueue_widget_dragtable_element_validate($element, &$form_state) {
         $value_key => $new_value['entity'],
       );
     }
-    $form_state['entityqueue_added_id'] = $new_value['entity'];
-  }
-  else {
-    $form_state['entityqueue_added_id'] = NULL;
+    $form_state['entityqueue_changed'] = TRUE;
   }
 
   form_set_value($element, $items, $form_state);
@@ -1156,7 +1158,7 @@ function entityqueue_field_widget_ajax_callback($form, $form_state) {
     drupal_clean_css_identifier('entityqueue-dragtable-' . $field_name) => TRUE,
   );
 
-  if (!empty($form_state['entityqueue_added_id'])) {
+  if (!empty($form_state['entityqueue_changed'])) {
     drupal_add_js(array('entityqueue_changed' => $settings), 'setting');
   }
   return array(
