diff --git a/coffee/chosen.jquery.coffee b/coffee/chosen.jquery.coffee
index 203af36aeda..2487de3d8f0 100644
--- a/coffee/chosen.jquery.coffee
+++ b/coffee/chosen.jquery.coffee
@@ -243,6 +243,9 @@ class Chosen extends AbstractChosen
@form_field_jq.trigger("chosen:maxselected", {chosen: this})
return false
+ unless @is_multiple
+ @search_container.append @search_field
+
@container.addClass "chosen-with-drop"
@results_showing = true
@@ -259,6 +262,10 @@ class Chosen extends AbstractChosen
if @results_showing
this.result_clear_highlight()
+ unless @is_multiple
+ @selected_item.prepend @search_field
+ @search_field.focus()
+
@container.removeClass "chosen-with-drop"
@form_field_jq.trigger("chosen:hiding_dropdown", {chosen: this})
diff --git a/coffee/chosen.proto.coffee b/coffee/chosen.proto.coffee
index 654a905507f..14fb32da04c 100644
--- a/coffee/chosen.proto.coffee
+++ b/coffee/chosen.proto.coffee
@@ -235,6 +235,9 @@ class @Chosen extends AbstractChosen
@form_field.fire("chosen:maxselected", {chosen: this})
return false
+ unless @is_multiple
+ @search_container.insert @search_field
+
@container.addClassName "chosen-with-drop"
@results_showing = true
@@ -251,6 +254,10 @@ class @Chosen extends AbstractChosen
if @results_showing
this.result_clear_highlight()
+ unless @is_multiple
+ @selected_item.insert top: @search_field
+ @search_field.focus()
+
@container.removeClassName "chosen-with-drop"
@form_field.fire("chosen:hiding_dropdown", {chosen: this})
diff --git a/coffee/lib/abstract-chosen.coffee b/coffee/lib/abstract-chosen.coffee
index a83c194f826..1d252691937 100644
--- a/coffee/lib/abstract-chosen.coffee
+++ b/coffee/lib/abstract-chosen.coffee
@@ -332,12 +332,12 @@ class AbstractChosen
get_single_html: ->
"""
+
#{@default_text}