diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx
index e8001e97..d07fa043 100644
--- a/src/view/screens/Home.tsx
+++ b/src/view/screens/Home.tsx
@@ -14,13 +14,38 @@ import {usePreferencesQuery} from '#/state/queries/preferences'
 import {UsePreferencesQueryResponse} from '#/state/queries/preferences/types'
 import {emitSoftReset} from '#/state/events'
 import {useSession} from '#/state/session'
+import {loadString, saveString} from '#/lib/storage'
+import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
 
 type Props = NativeStackScreenProps<HomeTabNavigatorParams, 'Home'>
 export function HomeScreen(props: Props) {
   const {data: preferences} = usePreferencesQuery()
+  const {isDesktop} = useWebMediaQueries()
+  const [initialPage, setInitialPage] = React.useState<string | undefined>(
+    undefined,
+  )
 
-  if (preferences) {
-    return <HomeScreenReady {...props} preferences={preferences} />
+  React.useEffect(() => {
+    const loadLastActivePage = async () => {
+      try {
+        const lastActivePage =
+          (await loadString('lastActivePage')) ?? 'Following'
+        setInitialPage(lastActivePage)
+      } catch {
+        setInitialPage('Following')
+      }
+    }
+    loadLastActivePage()
+  }, [])
+
+  if (preferences && initialPage !== undefined) {
+    return (
+      <HomeScreenReady
+        {...props}
+        preferences={preferences}
+        initialPage={isDesktop ? 'Following' : initialPage}
+      />
+    )
   } else {
     return (
       <View style={styles.loading}>
@@ -32,14 +57,16 @@ export function HomeScreen(props: Props) {
 
 function HomeScreenReady({
   preferences,
+  initialPage,
 }: Props & {
   preferences: UsePreferencesQueryResponse
+  initialPage: string
 }) {
   const {hasSession} = useSession()
   const setMinimalShellMode = useSetMinimalShellMode()
   const setDrawerSwipeDisabled = useSetDrawerSwipeDisabled()
-  const [selectedPage, setSelectedPage] = React.useState(0)
   const isPageFocused = useIsFocused()
+  const [selectedPage, setSelectedPage] = React.useState<string>(initialPage)
 
   /**
    * Used to ensure that we re-compute `customFeeds` AND force a re-render of
@@ -47,6 +74,13 @@ function HomeScreenReady({
    */
   const pinnedFeedOrderKey = JSON.stringify(preferences.feeds.pinned)
 
+  const selectedPageIndex = React.useMemo(() => {
+    const index = ['Following', ...preferences.feeds.pinned].indexOf(
+      selectedPage,
+    )
+    return Math.max(index, 0)
+  }, [preferences.feeds.pinned, selectedPage])
+
   const customFeeds = React.useMemo(() => {
     const pinned = preferences.feeds.pinned
     const feeds: FeedDescriptor[] = []
@@ -70,20 +104,27 @@ function HomeScreenReady({
   useFocusEffect(
     React.useCallback(() => {
       setMinimalShellMode(false)
-      setDrawerSwipeDisabled(selectedPage > 0)
+      setDrawerSwipeDisabled(selectedPageIndex > 0)
       return () => {
         setDrawerSwipeDisabled(false)
       }
-    }, [setDrawerSwipeDisabled, selectedPage, setMinimalShellMode]),
+    }, [setDrawerSwipeDisabled, selectedPageIndex, setMinimalShellMode]),
   )
 
   const onPageSelected = React.useCallback(
     (index: number) => {
       setMinimalShellMode(false)
-      setSelectedPage(index)
       setDrawerSwipeDisabled(index > 0)
+      const page = ['Following', ...preferences.feeds.pinned][index]
+      setSelectedPage(page)
+      saveString('lastActivePage', page)
     },
-    [setDrawerSwipeDisabled, setSelectedPage, setMinimalShellMode],
+    [
+      setDrawerSwipeDisabled,
+      setSelectedPage,
+      setMinimalShellMode,
+      preferences.feeds.pinned,
+    ],
   )
 
   const onPressSelected = React.useCallback(() => {
@@ -126,6 +167,7 @@ function HomeScreenReady({
     <Pager
       key={pinnedFeedOrderKey}
       testID="homeScreen"
+      initialPage={selectedPageIndex}
       onPageSelected={onPageSelected}
       onPageScrollStateChanged={onPageScrollStateChanged}
       renderTabBar={renderTabBar}
@@ -133,7 +175,7 @@ function HomeScreenReady({
       <FeedPage
         key="1"
         testID="followingFeedPage"
-        isPageFocused={selectedPage === 0 && isPageFocused}
+        isPageFocused={selectedPageIndex === 0 && isPageFocused}
         feed={homeFeedParams.mergeFeedEnabled ? 'home' : 'following'}
         feedParams={homeFeedParams}
         renderEmptyState={renderFollowingEmptyState}
@@ -144,7 +186,7 @@ function HomeScreenReady({
           <FeedPage
             key={f}
             testID="customFeedPage"
-            isPageFocused={selectedPage === 1 + index && isPageFocused}
+            isPageFocused={selectedPageIndex === 1 + index && isPageFocused}
             feed={f}
             renderEmptyState={renderCustomFeedEmptyState}
           />