diff --git a/email_registration.module b/email_registration.module
index d2e9641..af75b12 100644
--- a/email_registration.module
+++ b/email_registration.module
@@ -143,6 +143,11 @@ function email_registration_form_user_login_alter(&$form, &$form_state) {
       : t('Enter your e-mail address.');
   $form['name']['#element_validate'][] = 'email_registration_user_login_validate';
   $form['pass']['#description'] = t('Enter the password that accompanies your e-mail.');
+
+  // Modify textfield to an email field.
+  if (module_exists('elements') && variable_get('email_registration_email_field', FALSE) && !variable_get('email_registration_login_with_username', TRUE)) {
+    $form['name']['#type'] = 'emailfield';
+  }
 }

 /**
@@ -153,6 +158,11 @@ function email_registration_form_user_login_block_alter(&$form, &$form_state) {
     ? t('E-mail or username')
     : t('E-mail');
   $form['name']['#element_validate'][] = 'email_registration_user_login_validate';
+
+  // Modify textfield to an email field.
+  if (module_exists('elements') && variable_get('email_registration_email_field', FALSE) && !variable_get('email_registration_login_with_username', TRUE)) {
+    $form['name']['#type'] = 'emailfield';
+  }
 }

 /**
@@ -164,7 +174,19 @@ function email_registration_form_user_admin_settings_alter(&$form, &$form_state)
     '#title' => t('Allow users login with e-mail or username.'),
     '#description' => t('Allow users to login with their username in addition to their e-mail.'),
     '#default_value' => variable_get('email_registration_login_with_username', TRUE),
-    );
+  );
+  $form['registration_cancellation']['email_registration_email_field'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Use HTML5 email field.'),
+    '#description' => t('Modify the user login textfield to an HTML5 type="email" field.'),
+    '#default_value' => variable_get('email_registration_email_field', FALSE),
+    '#access' => module_exists('elements'),
+    '#states' => array(
+      'invisible' => array(
+        ':input[name="email_registration_login_with_username"]' => array('checked' => TRUE),
+      ),
+    ),
+  );
   $form['#submit'][] = 'email_registration_form_user_admin_settings_submit';
 }

@@ -175,6 +197,7 @@ function email_registration_form_user_admin_settings_alter(&$form, &$form_state)
  */
 function email_registration_form_user_admin_settings_submit($form, &$form_state) {
   variable_set('email_registration_login_with_username', $form_state['values']['email_registration_login_with_username']);
+  variable_set('email_registration_email_field', $form_state['values']['email_registration_email_field']);
 }
