diff -ubBwr --exclude=uploads --exclude=images --exclude=images_pcf --exclude=config.php --exclude=languages/polish --exclude=settings.php Upload/inc/datahandlers/user.php forum/inc/datahandlers/user.php
--- Upload/inc/datahandlers/user.php	2006-12-04 11:39:42.000000000 +0100
+++ forum/inc/datahandlers/user.php	2007-01-01 16:34:22.000000000 +0100
@@ -749,7 +761,19 @@
 		}
 		if($this->method == "insert" || array_key_exists('email', $user))
 		{
+			//$this->verify_email();
+			// KK: prevent_registration_with_same_email.mod
+			// If the email is the same - no need to verify
+			if(!$old_user['email'] || $user['email'] != $old_user['email'])
+			{
 			$this->verify_email();
+				$this->verify_email_exists();
+			}
+			else
+			{
+				unset($user['email']);
+			}
+			// KK^
 		}
 		if($this->method == "insert" || array_key_exists('website', $user))
 		{
@@ -1185,5 +1274,28 @@
 		}
 
 	}
+
+	// KK: prevent_registration_with_same_email.mod
+	function verify_email_exists()
+	{
+		global $db;
+
+		$email = trim($this->data['email']);
+		$usergroup_awaiting_activation = 5 ;
+
+		$query = $db->simple_select(TABLE_PREFIX."users", "COUNT(*) AS count", "LOWER(email)='".$db->escape_string(strtolower($email))."' AND usergroup != $usergroup_awaiting_activation");
+		$user_count = $db->fetch_field($query, "count");
+		if($user_count > 0)
+		{
+			$this->set_error("email_exists", array($email));
+			return true;
+		}
+		else
+		{
+			return false;
+		}
+	}
+	// KK^
+
 }
 ?>
diff -ubBwr --exclude=uploads --exclude=images --exclude=images_pcf --exclude=config.php --exclude=languages/polish --exclude=settings.php Upload/inc/languages/english/datahandler_user.lang.php forum/inc/languages/english/datahandler_user.lang.php
--- Upload/inc/languages/english/datahandler_user.lang.php	2006-12-04 11:39:42.000000000 +0100
+++ forum/inc/languages/english/datahandler_user.lang.php	2006-12-27 00:10:40.000000000 +0100
@@ -30,4 +30,6 @@
 $l['userdata_missing_returndate'] = 'The Return Date you specified is missing one or more fields. Please make sure you have filled in the day, month, and year fields.';
 $l['userdata_missing_required_profile_field'] = 'You did not enter an option for the "{1}" field. Please fill in or select a value for this field.';
 $l['userdata_bad_profile_field_values'] = 'You did not select a valid option for the "{1}" field. Please select a value from the presented choices.';
+
+$l['userdata_email_exists'] = 'The email address you entered does already exist. Please enter a different email address.'; // KK: prevent_registration_with_same_email
 ?>

