diff --git a/t/plugin/auth-oauth.t b/t/plugin/auth-oauth.t
index 68fb8bd..117b690 100644
--- a/t/plugin/auth-oauth.t
+++ b/t/plugin/auth-oauth.t
@@ -114,19 +114,19 @@
 
 $t->get_ok('/')
   ->status_is(200)
-  ->element_exists('form[action=/user/login] input[name=handle_or_email]')
+  ->element_exists('form[action=/user/login] input[name=handle]')
   ->element_exists('aside.active')
   ->element_exists_not('aside.off')
   ;
 
 # Test for bug with long password
 $t->post_ok('/user/login' => form => {
-  handle_or_email => 'test',
+  handle => 'test',
   pwd => 'kjskjhndkjndqknaskjnakjdnkjdankajdnkjdsankjdsakjdfkjahzroiuqzriudjoijdmlamdlkmdsalkmdl' })
   ->status_is(302)
   ->header_is('Location' => '/');
 
-$t->post_ok('/user/login' => form => { handle_or_email => 'test', pwd => 'fail' })
+$t->post_ok('/user/login' => form => { handle => 'test', pwd => 'fail' })
   ->status_is(302)
   ->header_is('Location' => '/');
 
@@ -134,11 +134,11 @@
   ->status_is(200)
   ->element_exists('div.notify-error')
   ->text_is('div.notify-error', 'Bad CSRF token')
-  ->element_exists('input[name=handle_or_email][value=test]')
+  ->element_exists('input[name=handle][value=test]')
   ->element_exists_not('div.button.top a')
   ;
 
-$t->post_ok('/user/login' => form => { handle_or_email => 'test', pwd => 'pass' })
+$t->post_ok('/user/login' => form => { handle => 'test', pwd => 'pass' })
   ->status_is(302)
   ->header_is('Location' => '/');
 
@@ -151,7 +151,7 @@
   ;
 
 $t->post_ok('/user/login' => form => {
-  handle_or_email => 'test',
+  handle => 'test',
   pwd => 'ldaperr',
   csrf_token => $csrf
 })
@@ -163,14 +163,14 @@
   ->status_is(200)
   ->element_exists('div.notify-error')
   ->text_is('div.notify-error', '2022: LDAP Authentication failed due to unknown user or password!')
-  ->element_exists('input[name=handle_or_email][value=test]')
+  ->element_exists('input[name=handle][value=test]')
   ->element_exists_not('div.button.top a')
   ->element_exists_not('div.notify-success')
   ->tx->res->dom->at('input[name=csrf_token]')->attr('value')
   ;
 
 $t->post_ok('/user/login' => form => {
-  handle_or_email => 'test',
+  handle => 'test',
   pwd => 'unknown',
   csrf_token => $csrf
 })
@@ -182,13 +182,13 @@
   ->status_is(200)
   ->element_exists('div.notify-error')
   ->text_is('div.notify-error', '2022: LDAP Authentication failed due to unknown user or password!')
-  ->element_exists('input[name=handle_or_email][value=test]')
+  ->element_exists('input[name=handle][value=test]')
   ->element_exists_not('div.button.top a')
   ->tx->res->dom->at('input[name=csrf_token]')->attr('value')
   ;
 
 $t->post_ok('/user/login' => form => {
-  handle_or_email => 'test',
+  handle => 'test',
   pwd => 'pass',
   csrf_token => $csrf
 })
@@ -243,8 +243,8 @@
   ->element_exists_not('div.notify-error')
   ->element_exists('div.notify-success')
   ->text_is('div.notify-success', 'Logout successful')
-  ->element_exists("input[name=handle_or_email]")
-  ->element_exists("input[name=handle_or_email][value=test]")
+  ->element_exists("input[name=handle]")
+  ->element_exists("input[name=handle][value=test]")
   ;
 
 $t->get_ok('/?q=Baum')
@@ -273,7 +273,7 @@
 is($fwd, '/?q=Baum&ql=poliqarp', 'Redirect is valid');
 
 $t->post_ok('/user/login' => form => {
-  handle_or_email => 'test',
+  handle => 'test',
   pwd => 'pass',
   csrf_token => $csrf,
   fwd => 'http://bad.example.com/test'
@@ -289,7 +289,7 @@
   ;
 
 $t->post_ok('/user/login' => form => {
-  handle_or_email => 'test',
+  handle => 'test',
   pwd => 'pass',
   csrf_token => $csrf,
   fwd => $fwd
@@ -413,7 +413,7 @@
 
 # Login:
 $t->post_ok('/user/login' => form => {
-  handle_or_email => 'test',
+  handle => 'test',
   pwd => 'pass',
   csrf_token => $csrf
 })
diff --git a/t/plugin/auth.t b/t/plugin/auth.t
index e310988..63433b2 100644
--- a/t/plugin/auth.t
+++ b/t/plugin/auth.t
@@ -45,12 +45,12 @@
 
 $t->get_ok('/')
   ->status_is(200)
-  ->element_exists('form[action=/user/login] input[name=handle_or_email]')
+  ->element_exists('form[action=/user/login] input[name=handle]')
   ->element_exists('aside.active')
   ->element_exists_not('aside.off')
   ;
 
-$t->post_ok('/user/login' => form => { handle_or_email => 'test', pwd => 'fail' })
+$t->post_ok('/user/login' => form => { handle => 'test', pwd => 'fail' })
   ->status_is(302)
   ->header_is('Location' => '/');
 
@@ -58,11 +58,11 @@
   ->status_is(200)
   ->element_exists('div.notify-error')
   ->text_is('div.notify-error', 'Bad CSRF token')
-  ->element_exists('input[name=handle_or_email][value=test]')
+  ->element_exists('input[name=handle][value=test]')
   ->element_exists_not('div.button.top a')
   ;
 
-$t->post_ok('/user/login' => form => { handle_or_email => 'test', pwd => 'pass' })
+$t->post_ok('/user/login' => form => { handle => 'test', pwd => 'pass' })
   ->status_is(302)
   ->header_is('Location' => '/');
 
@@ -75,7 +75,7 @@
   ;
 
 $t->post_ok('/user/login' => form => {
-  handle_or_email => 'test',
+  handle => 'test',
   pwd => 'ldaperr',
   csrf_token => $csrf
 })
@@ -87,13 +87,13 @@
   ->status_is(200)
   ->element_exists('div.notify-error')
   ->text_is('div.notify-error', '2022: LDAP Authentication failed due to unknown user or password!')
-  ->element_exists('input[name=handle_or_email][value=test]')
+  ->element_exists('input[name=handle][value=test]')
   ->element_exists_not('div.button.top a')
   ->tx->res->dom->at('input[name=csrf_token]')->attr('value')
   ;
 
 $t->post_ok('/user/login' => form => {
-  handle_or_email => 'test',
+  handle => 'test',
   pwd => 'unknown',
   csrf_token => $csrf
 })
@@ -105,13 +105,13 @@
   ->status_is(200)
   ->element_exists('div.notify-error')
   ->text_is('div.notify-error', 'Access denied')
-  ->element_exists('input[name=handle_or_email][value=test]')
+  ->element_exists('input[name=handle][value=test]')
   ->element_exists_not('div.button.top a')
   ->tx->res->dom->at('input[name=csrf_token]')->attr('value')
   ;
 
 $t->post_ok('/user/login' => form => {
-  handle_or_email => 'test',
+  handle => 'test',
   pwd => 'pass',
   csrf_token => $csrf
 })
@@ -169,7 +169,7 @@
 is($fwd, '/?q=Baum&ql=poliqarp', 'Redirect is valid');
 
 $t->post_ok('/user/login' => form => {
-  handle_or_email => 'test',
+  handle => 'test',
   pwd => 'pass',
   csrf_token => $csrf,
   fwd => 'http://bad.example.com/test'
@@ -185,7 +185,7 @@
   ;
 
 $t->post_ok('/user/login' => form => {
-  handle_or_email => 'test',
+  handle => 'test',
   pwd => 'pass',
   csrf_token => $csrf,
   fwd => $fwd
