diff --git a/core/language/en-GB/Search.multids b/core/language/en-GB/Search.multids
index fd6eadc7e..f6b207000 100644
--- a/core/language/en-GB/Search.multids
+++ b/core/language/en-GB/Search.multids
@@ -8,6 +8,7 @@ Matches: //<> matches//
Matches/All: All matches:
Matches/Title: Title matches:
Search: Search
+Search/TooShort: Search text too short
Shadows/Caption: Shadows
Shadows/Hint: Search for shadow tiddlers
Shadows/Matches: //<> matches//
diff --git a/core/ui/AdvancedSearch/Shadows.tid b/core/ui/AdvancedSearch/Shadows.tid
index cd4a6cd38..b2455bfbb 100644
--- a/core/ui/AdvancedSearch/Shadows.tid
+++ b/core/ui/AdvancedSearch/Shadows.tid
@@ -21,6 +21,8 @@ caption: {{$:/language/Search/Shadows/Caption}}
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
+<$list filter="[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="""
@@ -33,6 +35,8 @@ caption: {{$:/language/Search/Shadows/Caption}}
$set>
+$list>
+
$reveal>
<$reveal state="$:/temp/advancedsearch" type="match" text="">
diff --git a/core/ui/AdvancedSearch/Standard.tid b/core/ui/AdvancedSearch/Standard.tid
index 174e6b24a..2342cb5b7 100644
--- a/core/ui/AdvancedSearch/Standard.tid
+++ b/core/ui/AdvancedSearch/Standard.tid
@@ -20,6 +20,7 @@ caption: {{$:/language/Search/Standard/Caption}}
$linkcatcher>
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
+<$list filter="[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="""
{{$:/language/Search/Search/TooShort}}
""" variable="listItem">
<$set name="searchTiddler" value="$:/temp/advancedsearch">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]" emptyMessage="""
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]">
@@ -29,4 +30,5 @@ caption: {{$:/language/Search/Standard/Caption}}
<$macrocall $name="tabs" tabsList="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]" default={{$:/config/SearchResults/Default}}/>
$list>
$set>
+$list>
$reveal>
diff --git a/core/ui/AdvancedSearch/System.tid b/core/ui/AdvancedSearch/System.tid
index 19cdfa86e..6de9d0786 100644
--- a/core/ui/AdvancedSearch/System.tid
+++ b/core/ui/AdvancedSearch/System.tid
@@ -21,6 +21,8 @@ caption: {{$:/language/Search/System/Caption}}
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
+<$list filter="[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="""
{{$:/language/Search/Search/TooShort}}
""" variable="listItem">
+
<$set name="resultCount" value="""<$count filter="[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]"/>""">
@@ -33,6 +35,8 @@ caption: {{$:/language/Search/System/Caption}}
$set>
+$list>
+
$reveal>
<$reveal state="$:/temp/advancedsearch" type="match" text="">
diff --git a/core/ui/SideBarLists.tid b/core/ui/SideBarLists.tid
index dfe012502..f54380721 100644
--- a/core/ui/SideBarLists.tid
+++ b/core/ui/SideBarLists.tid
@@ -17,9 +17,12 @@ title: $:/core/ui/SideBarLists
{{$:/core/images/close-button}}
$button>
<$button popup=<
> class="tc-btn-invisible">
+{{$:/core/images/down-arrow}}
+<$list filter="[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]" variable="listItem">
<$set name="resultCount" value="""<$count filter="[!is[system]search{$(searchTiddler)$}]"/>""">
-{{$:/core/images/down-arrow}} {{$:/language/Search/Matches}}
+{{$:/language/Search/Matches}}
$set>
+$list>
$button>
$reveal>
<$reveal state="$:/temp/search" type="match" text="">
@@ -33,8 +36,12 @@ title: $:/core/ui/SideBarLists
<$reveal tag="div" class="tc-block-dropdown tc-search-drop-down tc-popup-handle" state=<> type="nomatch" text="" default="">
+<$list filter="[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="""{{$:/language/Search/Search/TooShort}}
""" variable="listItem">
+
{{$:/core/ui/SearchResults}}
+$list>
+
$reveal>
$reveal>
diff --git a/core/wiki/config/SearchMinLength.tid b/core/wiki/config/SearchMinLength.tid
new file mode 100644
index 000000000..16acd5579
--- /dev/null
+++ b/core/wiki/config/SearchMinLength.tid
@@ -0,0 +1,3 @@
+title: $:/config/Search/MinLength
+
+3
\ No newline at end of file
diff --git a/editions/tw5.com/tiddlers/hiddensettings/Hidden Setting SearchMinLength.tid b/editions/tw5.com/tiddlers/hiddensettings/Hidden Setting SearchMinLength.tid
new file mode 100644
index 000000000..1fdcbbcbb
--- /dev/null
+++ b/editions/tw5.com/tiddlers/hiddensettings/Hidden Setting SearchMinLength.tid
@@ -0,0 +1,11 @@
+created: 20161011074235805
+modified: 20161011074235805
+tags: [[Hidden Settings]]
+title: Hidden Setting: Search Minimum Length
+type: text/vnd.tiddlywiki
+
+<<.from-version "5.1.14">> Controls the minimum length of a search string before results are displayed.
+
+Defaults to "3".
+
+$:/config/Search/MinLength