diff --git a/app/assets/javascripts/select-kit/components/tag-drop.js.es6 b/app/assets/javascripts/select-kit/components/tag-drop.js.es6 index 25f20d69d77..d5262fedb00 100644 --- a/app/assets/javascripts/select-kit/components/tag-drop.js.es6 +++ b/app/assets/javascripts/select-kit/components/tag-drop.js.es6 @@ -120,7 +120,7 @@ export default ComboBoxComponent.extend(TagsMixin, { if (this.siteSettings.tags_sort_alphabetically && topTags) { return shortcuts.concat(topTags.sort()); } else { - return shortcuts.concat(topTags); + return shortcuts.concat(Ember.makeArray(topTags)); } }, diff --git a/test/javascripts/components/tag-drop-test.js.es6 b/test/javascripts/components/tag-drop-test.js.es6 index c815abfb786..ae1003a8a95 100644 --- a/test/javascripts/components/tag-drop-test.js.es6 +++ b/test/javascripts/components/tag-drop-test.js.es6 @@ -83,3 +83,24 @@ componentTest("default", { ); } }); + +componentTest("no tags", { + template: "{{tag-drop}}", + + beforeEach() { + this.site.set("can_create_tag", true); + this.set("site.top_tags", undefined); + }, + + async test(assert) { + await this.get("subject").expand(); + + assert.equal( + this.get("subject") + .rowByIndex(1) + .name(), + undefined, + "it has no tags and doesn’t crash" + ); + } +});