diff --git a/src/CONST/index.ts b/src/CONST/index.ts
index c1125ae29715..b6bc10f06e67 100755
--- a/src/CONST/index.ts
+++ b/src/CONST/index.ts
@@ -2759,14 +2759,6 @@ const CONST = {
             CONFIRM: 'confirm',
         },
     },
-
-    SUBSCRIPTION_SIZE: {
-        PAGE_NAME: {
-            SIZE: 'size',
-            CONFIRM: 'confirm',
-        },
-    },
-
     MISSING_PERSONAL_DETAILS_INDEXES: {
         MAPPING: {
             LEGAL_NAME: 0,
diff --git a/src/ROUTES.ts b/src/ROUTES.ts
index 8932191e8165..8c2340f0fd22 100644
--- a/src/ROUTES.ts
+++ b/src/ROUTES.ts
@@ -280,14 +280,8 @@ const ROUTES = {
         getRoute: (backTo?: string) => getUrlWithBackToParam('settings/subscription', backTo),
     },
     SETTINGS_SUBSCRIPTION_SIZE: {
-        route: 'settings/subscription/subscription-size/:subPage?',
-        getRoute: (canChangeSize?: 0 | 1, subPage?: string) => {
-            const baseRoute = 'settings/subscription/subscription-size';
-            const subPageParam = subPage ? `/${subPage}` : '';
-            const canChangeSizeParam = canChangeSize !== undefined ? `?canChangeSize=${canChangeSize as number}` : '';
-
-            return `${baseRoute}${subPageParam}${canChangeSizeParam}` as const;
-        },
+        route: 'settings/subscription/subscription-size',
+        getRoute: (canChangeSize: 0 | 1) => `settings/subscription/subscription-size?canChangeSize=${canChangeSize as number}` as const,
     },
     SETTINGS_SUBSCRIPTION_SETTINGS_DETAILS: 'settings/subscription/details',
     SETTINGS_SUBSCRIPTION_ADD_PAYMENT_CARD: 'settings/subscription/add-payment-card',
diff --git a/src/libs/Navigation/types.ts b/src/libs/Navigation/types.ts
index ec6e77b0e67c..550e6d4929f6 100644
--- a/src/libs/Navigation/types.ts
+++ b/src/libs/Navigation/types.ts
@@ -614,8 +614,6 @@ type SettingsNavigatorParamList = {
     };
     [SCREENS.SETTINGS.SUBSCRIPTION.SIZE]: {
         canChangeSize: 0 | 1;
-        subPage?: string;
-        action?: 'edit';
     };
     [SCREENS.SETTINGS.SUBSCRIPTION.SETTINGS_DETAILS]: undefined;
     [SCREENS.SETTINGS.SUBSCRIPTION.ADD_PAYMENT_CARD]: undefined;
diff --git a/src/pages/settings/Subscription/SubscriptionSize/index.tsx b/src/pages/settings/Subscription/SubscriptionSize/index.tsx
index df2746021874..287b39ebbd88 100644
--- a/src/pages/settings/Subscription/SubscriptionSize/index.tsx
+++ b/src/pages/settings/Subscription/SubscriptionSize/index.tsx
@@ -6,7 +6,8 @@ import ScreenWrapper from '@components/ScreenWrapper';
 import useLocalize from '@hooks/useLocalize';
 import useOnyx from '@hooks/useOnyx';
 import usePrivateSubscription from '@hooks/usePrivateSubscription';
-import useSubPage from '@hooks/useSubPage';
+import useSubStep from '@hooks/useSubStep';
+import type {SubStepProps} from '@hooks/useSubStep/types';
 import {clearDraftValues} from '@libs/actions/FormActions';
 import Navigation from '@libs/Navigation/Navigation';
 import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types';
@@ -16,18 +17,14 @@ import NotFoundPage from '@pages/ErrorPage/NotFoundPage';
 import {updateSubscriptionSize} from '@userActions/Subscription';
 import CONST from '@src/CONST';
 import ONYXKEYS from '@src/ONYXKEYS';
-import ROUTES from '@src/ROUTES';
 import type SCREENS from '@src/SCREENS';
 import INPUT_IDS from '@src/types/form/SubscriptionSizeForm';
 import Confirmation from './substeps/Confirmation';
 import Size from './substeps/Size';
 
-type SubscriptionSizePageProps = PlatformStackScreenProps<SettingsNavigatorParamList, typeof SCREENS.SETTINGS.SUBSCRIPTION.SIZE>;
+const bodyContent: Array<React.ComponentType<SubStepProps>> = [Size, Confirmation];
 
-const pages = [
-    {pageName: CONST.SUBSCRIPTION_SIZE.PAGE_NAME.SIZE, component: Size},
-    {pageName: CONST.SUBSCRIPTION_SIZE.PAGE_NAME.CONFIRM, component: Confirmation},
-];
+type SubscriptionSizePageProps = PlatformStackScreenProps<SettingsNavigatorParamList, typeof SCREENS.SETTINGS.SUBSCRIPTION.SIZE>;
 
 function SubscriptionSizePage({route}: SubscriptionSizePageProps) {
     const privateSubscription = usePrivateSubscription();
@@ -38,19 +35,14 @@ function SubscriptionSizePage({route}: SubscriptionSizePageProps) {
 
     const onFinished = () => {
         updateSubscriptionSize(subscriptionSizeFormDraft ? Number(subscriptionSizeFormDraft[INPUT_IDS.SUBSCRIPTION_SIZE]) : 0, privateSubscription?.userCount ?? 0);
-        Navigation.goBack(ROUTES.SETTINGS_SUBSCRIPTION_SETTINGS_DETAILS);
+        Navigation.goBack();
     };
 
-    const {CurrentPage, pageIndex, prevPage, nextPage, moveTo, isRedirecting} = useSubPage({
-        pages,
-        onFinished,
-        startFrom,
-        buildRoute: (pageName) => ROUTES.SETTINGS_SUBSCRIPTION_SIZE.getRoute(route.params?.canChangeSize, pageName),
-    });
+    const {componentToRender: SubStep, screenIndex, nextScreen, prevScreen, moveTo} = useSubStep({bodyContent, startFrom, onFinished});
 
     const onBackButtonPress = () => {
-        if (pageIndex !== 0 && startFrom === 0) {
-            prevPage();
+        if (screenIndex !== 0 && startFrom === 0) {
+            prevScreen();
             return;
         }
 
@@ -68,7 +60,7 @@ function SubscriptionSizePage({route}: SubscriptionSizePageProps) {
         return <NotFoundPage />;
     }
 
-    if (isRedirecting || !privateSubscription) {
+    if (!privateSubscription) {
         return <FullScreenLoadingIndicator />;
     }
 
@@ -85,9 +77,9 @@ function SubscriptionSizePage({route}: SubscriptionSizePageProps) {
                     title={translate('subscription.subscriptionSize.title')}
                     onBackButtonPress={onBackButtonPress}
                 />
-                <CurrentPage
+                <SubStep
                     isEditing={canChangeSubscriptionSize}
-                    onNext={nextPage}
+                    onNext={nextScreen}
                     onMove={moveTo}
                 />
             </DelegateNoAccessWrapper>
