diff --git a/includes/form.inc b/includes/form.inc
index baadcef..c5d2f05 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -4006,8 +4006,9 @@ function form_process_autocomplete($element) {
  */
 function theme_textfield($variables) {
   $element = $variables['element'];
-  $element['#attributes']['type'] = 'text';
-  element_set_attributes($element, array('id', 'name', 'value', 'size', 'maxlength'));
+  element_set_attributes($element, array('id', 'name', 'value', 'size', 'maxlength', 'type'));
+  $element['#attributes']['type'] = !empty($element['#attributes']['type']) ? $element['#attributes']['type'] : 'text';
+
   _form_set_class($element, array('form-text'));
 
   $extra = '';
