diff --git a/core/includes/form.inc b/core/includes/form.inc
index 8ac94af..aa8e58b 100644
--- a/core/includes/form.inc
+++ b/core/includes/form.inc
@@ -41,7 +41,7 @@ function drupal_form_submit($form_arg, FormStateInterface $form_state) {
  * @param $variables
  *   An associative array containing:
  *   - element: An associative array containing the properties of the element.
- *     Properties used: #title, #value, #options, #description, #extra,
+ *     Properties used: #action, #method, #attributes, #children, #autocomplete
  *     #multiple, #required, #name, #attributes, #size.
  */
 function template_preprocess_select(&$variables) {
@@ -337,7 +337,7 @@ function template_preprocess_form(&$variables) {
   if (isset($element['#action'])) {
     $element['#attributes']['action'] = UrlHelper::stripDangerousProtocols($element['#action']);
   }
-  Element::setAttributes($element, array('method', 'id'));
+  Element::setAttributes($element, array('method', 'id', 'autocomplete'));
   if (empty($element['#attributes']['accept-charset'])) {
     $element['#attributes']['accept-charset'] = "UTF-8";
   }
diff --git a/core/lib/Drupal/Core/Render/Element/PasswordConfirm.php b/core/lib/Drupal/Core/Render/Element/PasswordConfirm.php
index 9bc32b7..3352bc1 100644
--- a/core/lib/Drupal/Core/Render/Element/PasswordConfirm.php
+++ b/core/lib/Drupal/Core/Render/Element/PasswordConfirm.php
@@ -52,6 +52,8 @@ public static function processPasswordConfirm(&$element, FormStateInterface $for
       '#title' => t('Password'),
       '#value' => empty($element['#value']) ? NULL : $element['#value']['pass1'],
       '#required' => $element['#required'],
+      '#autocomplete' => empty($element['#autocomplete']) ? NULL : $element['#autocomplete'],
+      '#autocomplete' => empty($element['#autocomplete']) ? NULL : $element['#autocomplete'],
       '#attributes' => array('class' => array('password-field')),
     );
     $element['pass2'] =  array(
