diff --git a/src/main/java/org/olat/registration/RegistrationForm2.java b/src/main/java/org/olat/registration/RegistrationForm2.java
index 1dde3a4ed9fdf984900f4c23dbe6e8f34bef5a5b..0f685a2abf5300e9a5ce9c9805d848fa681a8dc2 100644
--- a/src/main/java/org/olat/registration/RegistrationForm2.java
+++ b/src/main/java/org/olat/registration/RegistrationForm2.java
@@ -53,6 +53,7 @@ import org.olat.login.validation.SyntaxValidator;
 import org.olat.login.validation.ValidationResult;
 import org.olat.user.ChangePasswordForm;
 import org.olat.user.UserManager;
+import org.olat.user.propertyhandlers.EmailProperty;
 import org.olat.user.propertyhandlers.UserPropertyHandler;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -87,6 +88,8 @@ public class RegistrationForm2 extends FormBasicController {
 	private UserManager userManager;
 	@Autowired
 	private OLATAuthManager olatAuthManager;
+	@Autowired
+	private RegistrationManager registrationManager;
 
 	public RegistrationForm2(UserRequest ureq, WindowControl wControl, String languageKey, String proposedUsername,
 			String email, boolean userInUse, boolean usernameReadonly) {
@@ -237,8 +240,11 @@ public class RegistrationForm2 extends FormBasicController {
 		// validate each user field
 		for (UserPropertyHandler userPropertyHandler : userPropertyHandlers) {
 			FormItem fi = propFormItems.get(userPropertyHandler.getName());
-			if (!userPropertyHandler.isValid(null, fi, null)) {
-				allOk &= false;
+			if (fi.isEnabled() && !userPropertyHandler.isValid(null, fi, null)) {
+				if (userPropertyHandler instanceof EmailProperty)
+					allOk &= registrationManager.isEmailReserved(getEmail());
+				else
+					allOk &= false;
 			}
 		}