diff --git src/simutrans/gui/components/gui_combobox.cc src/simutrans/gui/components/gui_combobox.cc
index 0319b4654..73340f48c 100644
--- src/simutrans/gui/components/gui_combobox.cc
+++ src/simutrans/gui/components/gui_combobox.cc
@@ -43,6 +43,7 @@ gui_combobox_t::gui_combobox_t(gui_scrolled_list_t::item_compare_func cmp) :
 	finish = false;
 	wrapping = true;
 	force_selection = false;
+	allow_search = false;
 	selection_when_open = -1;
 	droplist.set_visible(false);
 	droplist.add_listener(this);
@@ -179,8 +180,10 @@ DBG_MESSAGE("event","HOWDY!");
 			}
 			droplist.show_selection(sel);
 			search_str[0] = 0;
-			textinp.set_text(NULL, 0);
-			textinp.set_text(search_str, lengthof(search_str));
+			if (allow_search) {
+				textinp.set_text(NULL, 0);
+				textinp.set_text(search_str, lengthof(search_str));
+			}
 		}
 		else if (droplist.is_visible()) {
 
@@ -213,7 +216,7 @@ DBG_MESSAGE("gui_combobox_t::infowin_event()","close");
 	else {
 		// finally handle textinput
 		gui_scrolled_list_t::scrollitem_t *item = droplist.get_selected_item();
-		if (droplist.is_visible()) {
+		if (droplist.is_visible() && allow_search) {
 			// we are searching, not renaming
 			int first_match = -1;
 			event_t ev2 = *ev;
@@ -383,7 +386,7 @@ void gui_combobox_t::close_box()
 		call_listeners(p);
 		finish = false;
 	}
-	if (search_str[0] || selection_changed) {
+	if (allow_search && (search_str[0] || selection_changed)) {
 		// reset filter: set all visible again
 		search_str[0] = 0;
 		for (int i = 0; i < droplist.get_count(); i++) {
diff --git src/simutrans/gui/components/gui_combobox.h src/simutrans/gui/components/gui_combobox.h
index 55c5d24bb..8868266b3 100644
--- src/simutrans/gui/components/gui_combobox.h
+++ src/simutrans/gui/components/gui_combobox.h
@@ -39,23 +39,26 @@ private:
 	 * the drop box list
 	 */
 	gui_scrolled_list_t droplist;
-	bool opened_above:1;
+	bool opened_above : 1;
 
 	// flag for first call
-	bool first_call:1;
+	bool first_call : 1;
 
 	// flag for finish selection
-	bool finish:1;
+	bool finish : 1;
 
 	// true to allow buttons to wrap around selection
-	bool wrapping:1;
+	bool wrapping : 1;
 
 	// try to shrink to minimum size even if there is more space
-	bool minimize:1;
+	bool minimize : 1;
 
-	// force always a vlid selection; if nothing is selected, select element 0
+	// force always a valid selection; if nothing is selected, select element 0
 	bool force_selection : 1;
 
+	// whether to hide contents and allow searching when opened
+	bool allow_search : 1;
+
 	// offset of last draw call, needed to decide, where to open droplist
 	scr_coord last_draw_offset;
 
@@ -148,6 +151,7 @@ public:
 
 	void set_wrapping(const bool wrap) { wrapping = wrap; }
 	void set_force_selection(const bool force) { force_selection = force; }
+	void set_allow_search(const bool search) { allow_search = search; }
 
 	bool is_dropped() const { return droplist.is_visible(); }
 
diff --git src/simutrans/gui/depot_frame.cc src/simutrans/gui/depot_frame.cc
index fa58165c7..15f363484 100644
--- src/simutrans/gui/depot_frame.cc
+++ src/simutrans/gui/depot_frame.cc
@@ -199,6 +199,7 @@ void depot_frame_t::init(depot_t *dep)
 	add_component(&lb_convois, 2);
 
 	convoy_selector.add_listener(this);
+	convoy_selector.set_allow_search(true);
 	add_component(&convoy_selector, 2);
 
 	// Bolt image for electrified depots:
@@ -219,6 +220,7 @@ void depot_frame_t::init(depot_t *dep)
 	*/
 	line_selector.add_listener(this);
 	line_selector.set_wrapping(false);
+	line_selector.set_allow_search(true);
 	add_component(&line_selector);
 
 	cbuffer_t tip_nearby_lines;
