diff --git active_tags.js active_tags.js
index 11fd817..c85fc75 100644
--- active_tags.js
+++ active_tags.js
@@ -121,11 +121,7 @@ function activeTagsAdd(context, v) {
   v = Drupal.checkPlain(v);
   v = jQuery.trim(v);
   if (v != '') {
-    $(context).prev().children('.tag-holder').append(Drupal.theme('activeTagsTerm', v));
-    $('.remove-tag:not(.tag-processed)').click(function () {
-      $(this).parent().remove();
-      activeTagsUpdate(context);
-    }).addClass('tag-processed');
+    Drupal.attachBehaviors($(context).parent().find('.tag-holder').append(Drupal.theme('activeTagsTerm', v)));
   }
 }
 
@@ -133,7 +129,7 @@ function activeTagsUpdate(context) {
   var wrapper = $(context);
   var textFields = wrapper.children('input.form-text');
   textFields.val('');
-  wrapper.prev().find('.tag-text').each(function (i) {
+  Drupal.attachBehaviors(wrapper.prev().find('.tag-text').each(function (i) {
     // Get tag and revome quotes to prevent doubling
     var tag = $(this).text().replace(/["]/g, '');
 
@@ -148,7 +144,7 @@ function activeTagsUpdate(context) {
     else {
       textFields.val(textFields.val() + ', ' + tag);
     }
-  });
+  }));
 }
 
 function activeTagsWidget(context) {
@@ -182,7 +178,7 @@ Drupal.theme.prototype.activeTagsWidget = function (context, vid) {
 
   // Check if the field has an error class to add.
   var error = wrapper.find('input').hasClass('error') ? 'error ' : '';
-  return '<div id="' + cleanId + '-activetags" class="form-item">' +
+  return '<div id="' + cleanId + '-activetags" class="form-item active-tags-wrapper">' +
     '<label for="active-tag-edit0' + vid + '">' + wrapper.find('label').html() + '</label>' +
     '<div class="tag-holder"></div>' +
     '<input type="text" class="' + error + 'tag-entry form-autocomplete" size="30" id="active-tag-edit0' + vid + '" />' +
@@ -197,10 +193,21 @@ Drupal.behaviors.activeTagsWidget = function (context) {
   jQuery.each(Drupal.settings['active_tags'], function (i, v) {
     var wrapper = $(v);
     if (wrapper.length == 1 && !wrapper.hasClass('active-tags-processed')) {
-      activeTagsActivate(v);
       wrapper.addClass('active-tags-processed');
+      activeTagsActivate(v);
     }
   });
+
+  $('.remove-tag:not(.tag-processed)', context).addClass('tag-processed').click(function () {
+     tag_tag = $(this).parents('.tag-tag');
+     id_array = tag_tag.parents('div.active-tags-wrapper').attr('id').split('-');
+     tag_tag.remove();
+
+     // The form field will have the same id minus '-activetags' so remove that.
+     id_array.pop();
+     id = id_array.join('-');
+     activeTagsUpdate($('#' + id));
+   });
 }
 
 Drupal.behaviors.activeTagsAutocomplete = function (context) {
