diff --git a/yubikey.module b/yubikey.module
index 74e2ca6..6d27c14 100644
--- a/yubikey.module
+++ b/yubikey.module
@@ -236,7 +236,7 @@ function yubikey_login_form_alter(&$form, &$form_state, $form_id) {
   drupal_add_js(drupal_get_path('module', 'yubikey') . '/yubikey.js');
 
   $form['yubikey_otp'] = array(
-    '#type'          => 'textfield',
+    '#type'          => 'password',
     '#title'         => t('YubiKey OTP'),
     '#size'          => ($form_id == 'user_login') ? 58 : 13,
     '#maxlength'     => 255,
@@ -418,7 +418,7 @@ function yubikey_pass_form_alter(&$form, &$form_state, $form_id) {
   drupal_add_js(drupal_get_path('module', 'yubikey') . '/yubikey.js');
 
   $form['yubikey_otp'] = array(
-    '#type'          => 'textfield',
+    '#type'          => 'password',
     '#title'         => t('YubiKey OTP'),
     '#size'          => 58,
     '#maxlength'     => 255,
diff --git a/yubikey.pages.inc b/yubikey.pages.inc
index 1a8ef67..a87fcc4 100644
--- a/yubikey.pages.inc
+++ b/yubikey.pages.inc
@@ -225,7 +225,7 @@ function yubikey_user_identities($account) {
  */
 function yubikey_user_add() {
   $form['yubikey_otp'] = array(
-    '#type'          => 'textfield',
+    '#type'          => 'password',
     '#required'      => TRUE,
     '#size'          => 45,
     '#title'         => t('YubiKey OTP')
