diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageViewModel.kt b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageViewModel.kt
index fbe82ca2daba5d5fa72a73ac0461a3ea682c8fcc..65d58bc5e206c0c1510c65ae44b45ff15ea5526c 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageViewModel.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageViewModel.kt
@@ -22,15 +22,19 @@ class SubscriptionStageViewModel @Inject constructor(
     val purchaseLiveData = SingleEventLiveData<Response<Unit>>()
     val subscriptionsListLiveData = MutableLiveData<Response<List<SubscriptionListItem>>>()
 
-    fun validateSubscription(subscriptionReceiptData: SubscriptionReceiptData) {
+    fun initiateSubscriptionStage(subscriptionManager: SubscriptionManager) {
         launchBg {
-            subscribeLiveData.postValue(dataSource.validateSubscription(subscriptionReceiptData))
+            when (val activeSubscriptionResult =
+                getLastActiveSubscriptionReceipt(subscriptionManager)) {
+                is Response.Success -> validateSubscription(activeSubscriptionResult.data)
+                is Response.Error -> loadSubscriptionsList(subscriptionManager)
+            }
         }
     }
 
-    fun loadSubscriptionsList(subscriptionManager: SubscriptionManager) {
+    fun validateSubscription(subscriptionReceiptData: SubscriptionReceiptData) {
         launchBg {
-            subscriptionsListLiveData.postValue(subscriptionManager.getDetails(dataSource.getProductIdsList()))
+            subscribeLiveData.postValue(dataSource.validateSubscription(subscriptionReceiptData))
         }
     }
 
@@ -40,4 +44,12 @@ class SubscriptionStageViewModel @Inject constructor(
         }
     }
 
+    private suspend fun loadSubscriptionsList(subscriptionManager: SubscriptionManager) {
+        val details = subscriptionManager.getDetails(dataSource.getProductIdsList())
+        subscriptionsListLiveData.postValue(details)
+    }
+
+    private suspend fun getLastActiveSubscriptionReceipt(subscriptionManager: SubscriptionManager) =
+        subscriptionManager.getActiveSubscriptionReceipt()
+
 }
\ No newline at end of file