diff --git a/flutter/lib/common/widgets/login.dart b/flutter/lib/common/widgets/login.dart
index a6b8048a8..92528d5e3 100644
--- a/flutter/lib/common/widgets/login.dart
+++ b/flutter/lib/common/widgets/login.dart
@@ -455,7 +455,7 @@ Future<bool?> loginDialog() async {
           }
           if (isEmailVerification != null) {
             if (isMobile) {
-              if (close != null) close(false);
+              if (close != null) close(null);
               verificationCodeDialog(
                   resp.user, resp.secret, isEmailVerification);
             } else {
@@ -712,6 +712,11 @@ Future<bool?> verificationCodeDialog(
           dialogButton("Verify", onPressed: getOnSubmit()),
         ]);
   });
+  // For verification code, desktop update other models in login dialog, mobile need to close login dialog first,
+  // otherwise the soft keyboard will jump out on each key press, so mobile update in verification code dialog.
+  if (isMobile && res == true) {
+    await UserModel.updateOtherModels();
+  }
 
   return res;
 }