diff --git a/src/plugins/discover/public/application/view_components/canvas/top_nav.tsx b/src/plugins/discover/public/application/view_components/canvas/top_nav.tsx
index b75a48d3acff..feb7b91e7c5e 100644
--- a/src/plugins/discover/public/application/view_components/canvas/top_nav.tsx
+++ b/src/plugins/discover/public/application/view_components/canvas/top_nav.tsx
@@ -13,6 +13,7 @@ import { IndexPattern } from '../../../opensearch_dashboards_services';
 import { getTopNavLinks } from '../../components/top_nav/get_top_nav_links';
 import { useDiscoverContext } from '../context';
 import { getRootBreadcrumbs } from '../../helpers/breadcrumbs';
+import { opensearchFilters, connectStorageToQueryState } from '../../../../../data/public';
 
 export interface TopNavProps {
   opts: {
@@ -35,10 +36,16 @@ export const TopNav = ({ opts }: TopNavProps) => {
     },
     data,
     chrome,
+    osdUrlStateStorage,
   } = services;
 
   const topNavLinks = savedSearch ? getTopNavLinks(services, inspectorAdapters, savedSearch) : [];
 
+  connectStorageToQueryState(services.data.query, osdUrlStateStorage, {
+    filters: opensearchFilters.FilterStateStore.APP_STATE,
+    query: true,
+  });
+
   useEffect(() => {
     let isMounted = true;
     const getDefaultIndexPattern = async () => {
diff --git a/src/plugins/discover/public/application/view_components/context/index.tsx b/src/plugins/discover/public/application/view_components/context/index.tsx
index 7052ed2887f9..f4180d16b196 100644
--- a/src/plugins/discover/public/application/view_components/context/index.tsx
+++ b/src/plugins/discover/public/application/view_components/context/index.tsx
@@ -3,7 +3,7 @@
  * SPDX-License-Identifier: Apache-2.0
  */
 
-import React, { useEffect } from 'react';
+import React from 'react';
 import { DataExplorerServices, ViewProps } from '../../../../../data_explorer/public';
 import {
   OpenSearchDashboardsContextProvider,
@@ -11,7 +11,6 @@ import {
 } from '../../../../../opensearch_dashboards_react/public';
 import { getServices } from '../../../opensearch_dashboards_services';
 import { useSearch, SearchContextValue } from '../utils/use_search';
-import { connectStorageToQueryState, opensearchFilters } from '../../../../../data/public';
 
 const SearchContext = React.createContext<SearchContextValue>({} as SearchContextValue);
 
@@ -24,16 +23,6 @@ export default function DiscoverContext({ children }: React.PropsWithChildren<Vi
     ...services,
   });
 
-  const { osdUrlStateStorage } = deServices;
-
-  // Connect the query service to the url state
-  useEffect(() => {
-    connectStorageToQueryState(services.data.query, osdUrlStateStorage, {
-      filters: opensearchFilters.FilterStateStore.APP_STATE,
-      query: true,
-    });
-  }, [osdUrlStateStorage, services.data.query, services.uiSettings]);
-
   return (
     <OpenSearchDashboardsContextProvider services={services}>
       <SearchContext.Provider value={searchParams}>{children}</SearchContext.Provider>