diff --git a/themes/finc/js/advanced_search.js b/themes/finc/js/advanced_search.js
index 6ea46964445197518ba9c68d8e9fc2e2fa8661ed..daafce424e01d62fcb1bacf3c953103d48186d1c 100644
--- a/themes/finc/js/advanced_search.js
+++ b/themes/finc/js/advanced_search.js
@@ -3,7 +3,7 @@
 var nextGroup = 0;
 var groupLength = [];
 
-function addSearch(group, _fieldValues) {
+function addSearch(group, _fieldValues, isUser) {
   var fieldValues = _fieldValues || {};
   // Build the new search
   var inputID = group + '_' + groupLength[group];
@@ -53,7 +53,11 @@ function addSearch(group, _fieldValues) {
   groupLength[group]++;
 
   // #17985 finc barf
-  $newSearch.find('input.form-control').focus();
+  if (isUser) {
+    $newSearch.find('input.form-control').focus();
+  } else {
+    $("#group" + group).find('input.form-control').first().focus();
+  }
 
   return false;
 }
@@ -99,7 +103,7 @@ function addGroup(_firstTerm, _firstField, _join) {
     .removeClass('hidden');
   $newGroup.find('.add_search_link')
     .attr('id', 'add_search_link_' + nextGroup)
-    .attr('onClick', 'return addSearch(' + nextGroup + ')')
+    .attr('onClick', 'return addSearch(' + nextGroup + ', {}, true)')
     .removeClass('hidden');
   $newGroup.find('.adv-group-close')
     .attr('onClick', 'return deleteGroup(' + nextGroup + ')');
@@ -115,7 +119,7 @@ function addGroup(_firstTerm, _firstField, _join) {
   $('#groupPlaceHolder').before($newGroup);
   // Populate
   groupLength[nextGroup] = 0;
-  addSearch(nextGroup, {term: firstTerm, field: firstField});
+  addSearch(nextGroup, {term: firstTerm, field: firstField}, false);
   // Show join menu
   if (nextGroup > 0) {
     $('#groupJoin').removeClass('hidden');
@@ -145,7 +149,10 @@ function deleteGroup(group) {
 $(document).ready(function advSearchReady() {
   $('.clear-btn').click(function clearBtnClick() {
     $('input[type="text"]').val('');
-    $("option:selected").removeAttr("selected");
+    $('select').not('#limit').find('option:selected').removeAttr('selected');
+    if (typeof defaultLimit !== 'undefined') {
+      $("#limit").val(defaultLimit);
+    }
     $("#illustrated_-1").click();
   });
 });
diff --git a/themes/finc/templates/search/advanced/limit.phtml b/themes/finc/templates/search/advanced/limit.phtml
index 1143d26934ef25977b5349a1ea7bda7ea273530d..c8f5ad0eaeb8ae41e3a70277c204546bbe579747 100644
--- a/themes/finc/templates/search/advanced/limit.phtml
+++ b/themes/finc/templates/search/advanced/limit.phtml
@@ -6,6 +6,7 @@
     // If a previous limit was used, make that the default; otherwise, use the "default default"
     $lastLimit = $this->searchMemory()->getLastLimit($this->options->getSearchClassId());
     $defaultLimit = empty($lastLimit) ? $this->options->getDefaultLimit() : $lastLimit;
+    $this->headScript()->appendScript("var defaultLimit = $defaultLimit");
 ?>
 <?php if (count($limitList) > 1): ?>
   <fieldset class="limits">