diff --git a/frontend/app/lib/pages/login_overlay.dart b/frontend/app/lib/pages/login_overlay.dart
index 21e265f..6d59622 100644
--- a/frontend/app/lib/pages/login_overlay.dart
+++ b/frontend/app/lib/pages/login_overlay.dart
@@ -3,11 +3,28 @@ import 'package:app/widgets/background.dart';
 import 'package:flutter/material.dart';
 
 Future<bool> showLogin(BuildContext context) async {
-  final _formKey = GlobalKey<FormState>();
+  final formKey = GlobalKey<FormState>();
   final mailController = TextEditingController();
   final passwordController = TextEditingController();
 
-  bool _loggedin = false;
+  bool submitted = false;
+  bool loggedin = false;
+  void login() {
+    if (formKey.currentState!.validate()) {
+      submitted = true;
+      BackendService.login(
+        email: mailController.text,
+        password: passwordController.text,
+      ).then(
+        (r) {
+          if (r) {
+            loggedin = r;
+            Navigator.pop(context, true);
+          }
+        },
+      );
+    }
+  }
 
   await showModalBottomSheet(
       useSafeArea: true,
@@ -42,7 +59,7 @@ Future<bool> showLogin(BuildContext context) async {
                 ),
               ),
               Form(
-                key: _formKey,
+                key: formKey,
                 child: Column(
                   mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                   crossAxisAlignment: CrossAxisAlignment.center,
@@ -97,27 +114,15 @@ Future<bool> showLogin(BuildContext context) async {
                       mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                       children: [
                         ElevatedButton(
-                          onPressed: () {
-                            Navigator.pop(context);
-                          },
+                          onPressed: !submitted
+                              ? () {
+                                  Navigator.pop(context);
+                                }
+                              : null,
                           child: const Icon(Icons.arrow_back),
                         ),
                         ElevatedButton(
-                          onPressed: () {
-                            if (_formKey.currentState!.validate()) {
-                              BackendService.login(
-                                email: mailController.text,
-                                password: passwordController.text,
-                              ).then(
-                                (r) {
-                                  if (r) {
-                                    _loggedin = r;
-                                    Navigator.pop(context, true);
-                                  }
-                                },
-                              );
-                            }
-                          },
+                          onPressed: !submitted ? login : null,
                           child: const Icon(Icons.login),
                         ),
                       ],
@@ -130,5 +135,5 @@ Future<bool> showLogin(BuildContext context) async {
           ),
         );
       });
-  return _loggedin;
+  return loggedin;
 }