diff --git user_delete.admin.inc user_delete.admin.inc
index 587a0d4..15211db 100644
--- user_delete.admin.inc
+++ user_delete.admin.inc
@@ -31,7 +31,7 @@ function user_delete_settings() {
     '#title' => t('When cancelling a user account'),
     '#description' => t('Users with the %select-cancel-method or %administer-users <a href="@permissions-url">permissions</a> can override this default method.', array('%select-cancel-method' => t('Select method for cancelling account'), '%administer-users' => t('Administer users'), '@permissions-url' => url('admin/user/permissions'))),
   );
-  
+
   $form['registration_cancellation']['user_cancel_method'] += user_delete_cancel_methods();
   foreach (element_children($form['registration_cancellation']['user_cancel_method']) as $element) {
     // Remove all account cancellation methods that have #access defined, as
@@ -45,6 +45,14 @@ function user_delete_settings() {
     }
   }
 
+  $form['registration_cancellation']['user_delete_reassign_user'] = array(
+    '#type' => 'textfield',
+    '#title' => t('User to reassign content to'),
+    '#description' => t('Enter the uid of the user to assign content to. If this user does not exists or shall be deleted, content will be set to anonymous.'),
+    '#default_value' => variable_get('user_delete_reassign_user', 0),
+  );
+
+
   $form['email_cancel_confirm'] = array(
     '#type' => 'fieldset',
     '#title' => t('Account cancellation confirmation'),
diff --git user_delete.module user_delete.module
index 19f4eff..bf73e1d 100644
--- user_delete.module
+++ user_delete.module
@@ -101,9 +101,9 @@ function user_delete_form_alter(&$form, $form_state, $form_id) {
     }
     /*
      * There are some reasons to keep this check commented. There are modules
-     * that already protect this button to appear, and Drupal 6 has not an 
-     * special administrators group by default that can take control of the 
-     * site if uid 1 is removed.  
+     * that already protect this button to appear, and Drupal 6 has not an
+     * special administrators group by default that can take control of the
+     * site if uid 1 is removed.
      */
     //if ($user->uid == 1) {
     //  unset($form['delete']);
@@ -216,7 +216,7 @@ function user_delete_form_alter(&$form, $form_state, $form_id) {
 
     // Always provide entity id in the same form key as in the entity edit form.
     $form['uid'] = array('#type' => 'value', '#value' => $account->uid);
-    
+
     // Set new title and description
     drupal_set_title(t('Are you sure you want to cancel the account %name?', array('%name' => $form['_account']['#value']->name)));
     unset($form['description']);
@@ -447,6 +447,7 @@ function user_delete_cancel_confirm($account, $timestamp = 0, $hashed_pass = '')
  * @see user_multiple_cancel_confirm()
  */
 function user_delete_cancel_methods() {
+  $reassign_user = _user_delete_get_reassign_user();
   $methods = array(
     'user_cancel_block' => array(
       'title' => t('Disable the account and keep all content.'),
@@ -457,8 +458,8 @@ function user_delete_cancel_methods() {
       'description' => t('Your account will be blocked and you will no longer be able to log in. All of your content will be hidden from everyone but administrators.'),
     ),
     'user_cancel_reassign' => array(
-      'title' => t('Delete the account and make all content belong to the %anonymous-name user.', array('%anonymous-name' => variable_get('anonymous', t('Anonymous')))),
-      'description' => t('Your account will be removed and all account information deleted. All of your content will be assigned to the %anonymous-name user.', array('%anonymous-name' => variable_get('anonymous', t('Anonymous')))),
+      'title' => t('Delete the account and make all content belong to %reassign_user user.', array('%reassign_user' => $reassign_user['name'])),
+      'description' => t('Your account will be removed and all account information deleted. All of your content will be assigned to %reassign_user user.', array('%reassign_user' => $reassign_user['name'])),
     ),
     'user_cancel_delete' => array(
       'title' => t('Delete the account and all content.'),
@@ -580,11 +581,12 @@ function user_delete_node_cancel($edit, $account, $method) {
       while ($nid = db_result($result)) {
         $nodes[] = $nid;
       };
-      user_delete_node_mass_update($nodes, array('uid' => 0));
+      $reassing_user = _user_delete_get_reassign_user($account->uid);
+      user_delete_node_mass_update($nodes, array('uid' => $reassing_user['uid']));
       // Anonymize old revisions.
-      db_query("UPDATE {node_revisions} SET uid = 0 WHERE uid = %d", $account->uid);
+      db_query("UPDATE {node_revisions} SET uid = %d WHERE uid = %d", $reassing_user['uid'], $account->uid);
       // Anonymize history
-      db_query("UPDATE {history} SET uid = 0 WHERE uid = %d", $account->uid);
+      db_query("UPDATE {history} SET uid = %d WHERE uid = %d", $reassing_user['uid'], $account->uid);
       break;
     case 'user_cancel_delete':
       // Anonymize nodes (current revisions).
@@ -867,7 +869,8 @@ function user_delete_comment_cancel($edit, $account, $method) {
       while ($cid = db_result($result)) {
         $cids[] = $cid;
       };
-      user_delete_comment_mass_update($cids, array('uid' => 0));
+      $reassign_user = _user_delete_get_reassign_user($account->uid);
+      user_delete_comment_mass_update($cids, array('uid' => $reassing_user['uid']));
       break;
     case 'user_cancel_delete':
       // delete comments.
@@ -878,7 +881,7 @@ function user_delete_comment_cancel($edit, $account, $method) {
       };
       user_delete_comment_mass_delete($cids);
   }
-}
+}
 
 
 // Comment batch process code start
@@ -1141,3 +1144,41 @@ function _user_delete_comment_mass_delete_batch_finished($success, $results, $op
   }
 }
 
+/**
+ * Helper function to retrieve the reassign user.
+ */
+function _user_delete_get_reassign_user($delete_uid = FALSE) {
+  $uid = variable_get('user_delete_reassign_user', 0);
+
+  static $u;
+  // If user to delete is reassign user, set to anonymous.
+  if ($uid == $delete_uid) {
+    return array(
+      'uid' => 0,
+      'name' => variable_get('anonymous', t('Anonymous')),
+    );
+  }
+  // Set static cache.
+  elseif (!is_array($u)) {
+    if ($uid) {
+      $username = db_result(db_query('SELECT name FROM {users} WHERE uid = %d', $uid));
+      if ($username) {
+        $u = array(
+          'uid' => $uid,
+          'name' => check_plain($username),
+        );
+        return $u;
+      }
+    }
+  }
+  // Return static value
+  else {
+    return $u;
+  }
+  // Fallback for non valid users or anonymous.
+  $u = array(
+    'uid' => 0,
+    'name' => variable_get('anonymous', t('Anonymous')),
+  );
+  return $u;
+}
