@@ -584,6 +584,7 @@ def index():
584584 'results.html',
585585 results=results,
586586 q=request.form['q'],
587+ query_prefix=u''.join((request.form['q']).rsplit(search_query.query.decode('utf-8'), 1)),
587588 selected_categories=search_query.categories,
588589 pageno=search_query.pageno,
589590 time_range=search_query.time_range,
@@ -636,8 +637,11 @@ def autocompleter():
636637 # parse searx specific autocompleter results like !bang
637638 raw_results = searx_bang(raw_text_query)
638639
639− # normal autocompletion results only appear if max 3 inner results returned
640− if len(raw_results) <= 3 and completer:
640+ # normal autocompletion results only appear if no inner results returned
641+ # and there is a query part besides the engine and language bangs
642+ if len(raw_results) == 0 and completer and (len(raw_text_query.query_parts) > 1 or
643+ (len(raw_text_query.languages) == 0 and
644+ not raw_text_query.specific)):
641645 # get language from cookie
642646 language = request.preferences.get_value('language')
643647 if not language or language == 'all':