diff --git a/views/forms.py b/views/forms.py
index fe3a2affd485bf0e7d3c6f2a83d2d655e3946bd5..fb65efe28d7753fe04af55fb7943501494462c34 100644
--- a/views/forms.py
+++ b/views/forms.py
@@ -99,8 +99,12 @@ class IPNetworkField(Field):
                 raise ValueError(self.gettext("Not a valid IP Network: {}".format(str(exc))))
             self.data = ",".join(map(str, result_parts))
 
+class FocusedStringField(StringField):
+    def __call__(self, **kwargs):
+        return super().__call__(**kwargs, autofocus=True)
+
 class LoginForm(FlaskForm):
-    username = StringField("Benutzer", validators=[InputRequired("Bitte gib deinen Benutzernamen ein.")])
+    username = FocusedStringField("Benutzer", validators=[InputRequired("Bitte gib deinen Benutzernamen ein.")])
     password = PasswordField("Passwort", validators=[InputRequired("Bitte gib dein Passwort ein.")])
     permanent = BooleanField("Eingeloggt bleiben?")