diff --git a/js/entity_browser.common.js b/js/entity_browser.common.js
index d28e176..5911c44 100644
--- a/js/entity_browser.common.js
+++ b/js/entity_browser.common.js
@@ -66,6 +66,7 @@
 
     selector.val(entity_ids);
     selector.trigger('entity_browser_value_updated');
+    selector.trigger('formUpdated');
   };
 
   /**
diff --git a/js/entity_browser.entity_reference.js b/js/entity_browser.entity_reference.js
index 882799a..b70f80c 100644
--- a/js/entity_browser.entity_reference.js
+++ b/js/entity_browser.entity_reference.js
@@ -15,9 +15,14 @@
   Drupal.behaviors.entityBrowserEntityReference = {
     attach: function (context) {
       $(context).find('.field--widget-entity-browser-entity-reference').each(function () {
-        $(this).find('.entities-list.sortable').sortable({
+        var $list = $(this).find('.entities-list.sortable');
+        $list.sortable({
           stop: Drupal.entityBrowserEntityReference.entitiesReordered
         });
+        // Trigger an update when an action button (Remove, Edit) is clicked.
+        $list.find('input[type="submit"]').on('mousedown', function () {
+          $(this).trigger('formUpdated');
+        });
       });
     }
   };
@@ -39,7 +44,7 @@
       ids[i] = $(items[i]).attr('data-entity-id');
     }
 
-    $(this).parent().parent().find('input[type*=hidden][name*="[target_id]"]').val(ids.join(' '));
+    $(this).parent().parent().find('input[type*=hidden][name*="[target_id]"]').val(ids.join(' ')).trigger('formUpdated');
   };
 
 }(jQuery, Drupal));
