diff --git a/core/modules/user/lib/Drupal/user/ProfileFormController.php b/core/modules/user/lib/Drupal/user/ProfileFormController.php
index 484a4af..e7c521e 100644
--- a/core/modules/user/lib/Drupal/user/ProfileFormController.php
+++ b/core/modules/user/lib/Drupal/user/ProfileFormController.php
@@ -24,6 +24,11 @@ protected function actions(array $form, array &$form_state) {
     $element['delete']['#submit'] = array('user_edit_cancel_submit');
     $element['delete']['#access'] = $account->uid > 1 && (($account->uid == $GLOBALS['user']->uid && user_access('cancel account')) || user_access('administer users'));
 
+    $element['resend']['#type'] = 'submit';
+    $element['resend']['#value'] = t('Re-send welcome message');
+    $element['resend']['#submit'] = array('user_edit_resend_submit');
+    $element['resend']['#access'] = $account->uid > 1 && $account->mail && (($account->uid == $GLOBALS['user']->uid && user_access('cancel account')) || user_access('administer users'));
+
     return $element;
   }
 
diff --git a/core/modules/user/user.pages.inc b/core/modules/user/user.pages.inc
index 5817d9c..4eec86d 100644
--- a/core/modules/user/user.pages.inc
+++ b/core/modules/user/user.pages.inc
@@ -423,3 +423,42 @@ function user_page() {
     return drupal_get_form('user_login_form');
   }
 }
+
+/**
+ * Submit function for the 'Re-send welcome message' button on the user edit form.
+ */
+function user_edit_resend_submit($form, &$form_state) {
+  //Set language
+  global $language;
+  $destination = array();
+  if (isset($_GET['destination'])) {
+    $destination = drupal_get_destination();
+    unset($_GET['destination']);
+  }
+
+  //Determine user approval method
+  $account = user_load_by_name($form_state['values']['name']);
+  $user_register = variable_get('user_register', 2);
+
+  switch ($user_register) {
+    case 0:
+      $op = 'register_admin_created';
+      break;
+    case 1:
+      $op = 'register_no_approval_required';
+      break;
+    case 2:
+      $op = 'register_pending_approval';
+  }
+
+  //Notify user via email and log result
+  $mail = _user_mail_notify($op, $account, $language);
+  if (!empty($mail)) {
+    watchdog('user', 'Welcome message has been re-sent to %name at %email.', array('%name' => $account->name, '%email' => $account->mail));
+    drupal_set_message(t('Welcome message has been re-sent to %name at %email', array('%name' => $account->name, '%email' => $account->mail)));
+  } else {
+    watchdog('user', 'There was an error re-sending welcome message to %name at %email', array('%name' => $account->name, '%email' => $account->mail));
+    drupal_set_message(t('There was an error re-sending welcome message to %name at %email', array('%name' => $account->name, '%email' => $account->mail)), 'error');
+  }
+  $form_state['redirect'] = $destination;
+}
