diff --git a/src/components/records/RecordSearch.js b/src/components/records/RecordSearch.js
index 39fc9f7bb8682d688f3964e0194c7ab0606b3222..ee0eb2b59cc0c4283bbb67e1567f08b8baf184f0 100644
--- a/src/components/records/RecordSearch.js
+++ b/src/components/records/RecordSearch.js
@@ -83,7 +83,7 @@ export function RecordSearch({ iocName, rowType }) {
 
   const rowsPerPage = [20, 50];
 
-  const { pagination, setPagination } = usePagination({
+  const { pagination, setPagination, setTotalCount } = usePagination({
     rowsPerPageOptions: rowsPerPage,
     initLimit: urlPagination.rows ?? rowsPerPage[0],
     initPage: urlPagination.page ?? 0
@@ -91,8 +91,14 @@ export function RecordSearch({ iocName, rowType }) {
 
   // update pagination whenever search result total pages change
   useEffect(() => {
-    setPagination({ totalCount: records?.totalCount ?? 0 });
-  }, [setPagination, records?.totalCount]);
+    setTotalCount((prev) => {
+      if (prev === pagination.totalCount && prev > 0) {
+        return prev;
+      } else {
+        return records?.totalCount ?? 0;
+      }
+    });
+  }, [pagination, records?.totalCount, setTotalCount]);
 
   // whenever url state changes, update pagination
   useEffect(() => {
@@ -110,6 +116,7 @@ export function RecordSearch({ iocName, rowType }) {
     let requestParams = initRequestParams(pagination);
     requestParams.pv_status = recordFilter;
     requestParams.record_name = deserialize(urlState.query);
+    requestParams.ioc_name = iocName;
     getRecords(requestParams);
 
     return () => {