diff --git a/src/viewmodels/AccountSetupViewModel.ts b/src/viewmodels/AccountSetupViewModel.ts
index 47a6507456b22e93fe7964939bcfb3e97d28c612..4693f55d5885b4a7fbcacd2586ffc68de4e8dcf3 100644
--- a/src/viewmodels/AccountSetupViewModel.ts
+++ b/src/viewmodels/AccountSetupViewModel.ts
@@ -31,7 +31,9 @@ export class AccountSetupViewModel extends ViewModel {
                 while (stage.type !== "m.login.terms") {
                     stage = stage.nextStage;
                     if (!stage) {
-                        throw new Error("Terms login stage not found");
+                        // If terms login stage is not found, go straight to completeRegistration()
+                        this.completeRegistration();
+                        return;
                     }
                 }
                 this._privacyPolicyLink = stage.privacyPolicy.en?.url;