diff --git a/webv4/root/api/register.ssjs b/webv4/root/api/register.ssjs
index 6c694c5711c70584cc1e1d0a9b940a6c6941f6a3..5c6068bf03061081c9246aaf9ede12fea60d319a 100644
--- a/webv4/root/api/register.ssjs
+++ b/webv4/root/api/register.ssjs
@@ -90,10 +90,10 @@ if (system.newuser_password !== '' && (!request.has_param('newuser-password') ||
 	reply.errors.push(locale.strings.api_register.error_bad_syspass);
 }
 
-if (!valid_param('alias', MIN_ALIAS, LEN_ALIAS) || !system.check_name(clean_param('alias'))) {
-	reply.errors.push(locale.strings.api_register.error_invalid_alias);
-} else if (system.matchuser(clean_param('alias')) > 0) {
+ if (system.matchuser(clean_param('alias')) > 0) {
 	reply.errors.push(locale.strings.api_register.error_alias_taken);
+} else  if (!valid_param('alias', MIN_ALIAS, LEN_ALIAS) || !system.check_name(clean_param('alias'))) {
+	reply.errors.push(locale.strings.api_register.error_invalid_alias);
 } else {
 	prepUser.alias = clean_param('alias');
 	prepUser.handle = clean_param('alias');