Index: logintoboggan.module
===================================================================
--- logintoboggan.module	(revision 17)
+++ logintoboggan.module	(working copy)
@@ -521,16 +521,26 @@
     $message = t('Thank you for applying for an account. Your account is currently pending approval by the site administrator.<br />Once it has been approved, you will receive an e-mail containing further instructions.');
   }
 
-  // Mail the user.
-  _user_mail_notify($mailkey, $account);
+  if(isset($mailkey)) {
+    // Mail the user.
+    _user_mail_notify($mailkey, $account);
 
-  drupal_set_message($message);
+    drupal_set_message($message);
+  }
 
+  $invite = invite_find_invite($account->mail);
+
+  if( !$invite && variable_get('user_register', USER_REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL) == '3') {
+    $message = t('Thank you for applying for an account. Your account is currently pending approval by the site administrator.<br />Once it has been approved, you will receive an e-mail containing further instructions.');
+    drupal_set_message($message);
+  }
+  // drupal_set_message($message);
+
   // where do we need to redirect after registration?
   $redirect = _logintoboggan_process_redirect(variable_get('logintoboggan_redirect_on_register', ''), $account);
 
   // Log the user in if they created the account and immediate login is enabled.
-  if($reg_pass_set && variable_get('logintoboggan_immediate_login_on_register', TRUE)) {
+  if($invite || ($reg_pass_set && variable_get('logintoboggan_immediate_login_on_register', TRUE))) {
     $form_state['redirect'] = logintoboggan_process_login($account, $form_state['values'], $redirect);
   }
   else {
