diff --git a/app/assets/javascripts/select-kit/components/mini-tag-chooser.js.es6 b/app/assets/javascripts/select-kit/components/mini-tag-chooser.js.es6
index b3c6929a127..a40a62cad9a 100644
--- a/app/assets/javascripts/select-kit/components/mini-tag-chooser.js.es6
+++ b/app/assets/javascripts/select-kit/components/mini-tag-chooser.js.es6
@@ -44,7 +44,7 @@ export default ComboBox.extend(Tags, {
 
   @computed("tags")
   selection(tags) {
-    return makeArray(tags);
+    return makeArray(tags).map(c => this.computeContentItem(c));
   },
 
   filterComputedContent(computedContent) {
@@ -125,7 +125,9 @@ export default ComboBox.extend(Tags, {
   computeHeaderContent() {
     let content = this._super();
 
-    const joinedTags = this.get("selection").join(", ");
+    const joinedTags = this.get("selection")
+                           .map(s => Ember.get(s, "value"))
+                           .join(", ");
 
     if (isEmpty(this.get("selection"))) {
       content.label = I18n.t("tagging.choose_for_topic");
@@ -144,7 +146,13 @@ export default ComboBox.extend(Tags, {
       limit: this.get("siteSettings.max_tag_search_results"),
       categoryId: this.get("categoryId")
     };
-    if (this.get("selection")) data.selected_tags = this.get("selection").slice(0, 100);
+
+    if (this.get("selection")) {
+      data.selected_tags = this.get("selection")
+                               .map(s => Ember.get(s, "value"))
+                               .slice(0, 100);
+    }
+
     if (!this.get("everyTag")) data.filterForInput = true;
 
     this.searchTags("/tags/filter/search", data, this._transformJson);
diff --git a/app/assets/javascripts/select-kit/mixins/tags.js.es6 b/app/assets/javascripts/select-kit/mixins/tags.js.es6
index 099eeadfb77..e90ab473fdf 100644
--- a/app/assets/javascripts/select-kit/mixins/tags.js.es6
+++ b/app/assets/javascripts/select-kit/mixins/tags.js.es6
@@ -49,7 +49,8 @@ export default Ember.Mixin.create({
     }
 
     const inCollection = this.get("collectionComputedContent").map(c => get(c, "id")).includes(term);
-    const inSelection = this.get("selection").map(s => s.toLowerCase()).includes(term);
+
+    const inSelection = this.get("selection").map(s => get(s, "value").toLowerCase()).includes(term);
     if (inCollection || inSelection) {
       return false;
     }