diff --git a/opentech/static_src/src/javascript/apply/submission-filters.js b/opentech/static_src/src/javascript/apply/submission-filters.js
index 5fa7a7f618902c50ab76cb2939b5b927e1fd2715..6f706f686a7e67044e890099e23aea99d8aeb9e6 100644
--- a/opentech/static_src/src/javascript/apply/submission-filters.js
+++ b/opentech/static_src/src/javascript/apply/submission-filters.js
@@ -18,17 +18,15 @@
 
     const urlParams = new URLSearchParams(window.location.search);
 
+    const persistedParams = ['sort', 'query'];
+
     // check if the page has a query string and keep filters open if so on desktop
-    const minimumNumberParams = 1 + urlParams.has('query') ? 1 : 0;
+    const minimumNumberParams = persistedParams.reduce(
+        (count, param) => count + urlParams.has(param) ? 1 : 0,
+        1
+    );
 
-    // check for a search query param
-    if (urlParams.has('query')) {
-        if ([...urlParams].length > minimumNumberParams && $(window).width() > 1024) {
-            $body.addClass(filterOpenClass);
-            updateButtonText();
-        }
-    }
-    else if ([...urlParams].length >= 1 && $(window).width() > 1024) {
+    if ([...urlParams].length > minimumNumberParams && $(window).width() > 1024) {
         $body.addClass(filterOpenClass);
         updateButtonText();
     }
@@ -84,7 +82,9 @@
 
     // redirect to submissions home to clear filters
     function handleClearFilters() {
-        window.location.href = window.location.href.split('?')[0] + '?query=' + urlParams.get('query');
+        const query = persistedParams.reduce(
+            (query, param) => query + (urlParams.get(param) ? `&${param}=${urlParams.get(param)}` : ''), '?');
+        window.location.href = window.location.href.split('?')[0] + query;
     }
 
     // toggle filters button wording