diff --git a/core/screens/onboarding/helpers/__tests__/guestModeStorage.web.test.ts b/core/screens/onboarding/helpers/__tests__/guestModeStorage.web.test.ts
index 5dbcafd5fe46fa8d3258d1def8c54d9073f5beca..f5c6dd1b594461e076631772e1ce9ca35fc67180 100644
--- a/core/screens/onboarding/helpers/__tests__/guestModeStorage.web.test.ts
+++ b/core/screens/onboarding/helpers/__tests__/guestModeStorage.web.test.ts
@@ -1,6 +1,7 @@
 import { getGuestMode, storeGuestMode } from '@holi/core/screens/onboarding/helpers/guestModeStorage.web'
 import { getCookie, setCookie, deleteCookie } from 'cookies-next'
 import { logError } from '@holi/core/errors/helpers'
+import AsyncStorage from '@react-native-async-storage/async-storage'
 
 jest.mock('@holi/core/errors/helpers', () => ({
   logError: jest.fn(),
@@ -17,7 +18,18 @@ jest.mock('cookies-next', () => {
   }
 })
 
+const mockDeleteStorage = AsyncStorage.removeItem as jest.Mock
+jest.mock('@react-native-async-storage/async-storage', () => {
+  return {
+    removeItem: jest.fn(),
+  }
+})
+
 describe('guestModeStorage', () => {
+  beforeEach(() => {
+    mockDeleteStorage.mockResolvedValue({})
+  })
+
   it('should return true when guest mode is enabled', async () => {
     mockGetCookie.mockReturnValueOnce('true')
 
@@ -74,4 +86,15 @@ describe('guestModeStorage', () => {
       location: 'guestModeStorage.storeGuestMode',
     })
   })
+
+  it('should clean up old guest mode', async () => {
+    jest.useFakeTimers()
+
+    await getGuestMode()
+    jest.runOnlyPendingTimers()
+
+    expect(mockDeleteStorage).toHaveBeenCalledWith('guest_mode')
+
+    jest.useRealTimers()
+  })
 })
diff --git a/core/screens/onboarding/helpers/guestModeStorage.web.ts b/core/screens/onboarding/helpers/guestModeStorage.web.ts
index c7ab3f08e959c12276379f2b029adb2f562639f0..9de10c8da135d4a9016c671b87faec6a68780771 100644
--- a/core/screens/onboarding/helpers/guestModeStorage.web.ts
+++ b/core/screens/onboarding/helpers/guestModeStorage.web.ts
@@ -1,5 +1,6 @@
 import { logError } from '@holi/core/errors/helpers'
 import { getCookie, setCookie, deleteCookie } from 'cookies-next'
+import AsyncStore from '@react-native-async-storage/async-storage'
 
 export const GUEST_MODE_COOKIE_NAME = 'guest_mode'
 const one_year_in_seconds: number = 60 * 60 * 24 * 365
@@ -17,10 +18,12 @@ export const storeGuestMode = async (guestMode?: boolean): Promise<void> => {
     })
   }
 }
+
 export const getGuestMode = async (): Promise<boolean> => {
   try {
-    const userData = getCookie(GUEST_MODE_COOKIE_NAME)
-    return userData ? true : false
+    const guestMode = getCookie(GUEST_MODE_COOKIE_NAME)
+    cleanUpOldGuestMode().catch(() => {})
+    return !!guestMode
   } catch (error) {
     logError(error, 'Failed to get guest mode', {
       location: 'guestModeStorage.getGuestMode',
@@ -30,3 +33,6 @@ export const getGuestMode = async (): Promise<boolean> => {
 }
 
 export const clearGuestMode = () => storeGuestMode()
+
+// Deprecated guest mode stored in AsyncStorage in 1.53
+const cleanUpOldGuestMode = () => AsyncStore.removeItem('guest_mode')