Index: modules/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user.module,v
retrieving revision 1.540
diff -u -F^f -r1.540 user.module
--- modules/user.module	8 Dec 2005 08:40:10 -0000	1.540
+++ modules/user.module	16 Dec 2005 18:42:59 -0000
@@ -1,5 +1,5 @@
 <?php
-// $Id: user.module,v 1.540 2005-12-08 08:40:10 dries Exp $
+// $Id: user.module,v 1.540 2005/12/08 08:40:10 dries Exp $
 
 /**
  * @file
@@ -476,7 +476,13 @@ function user_user($type, &$edit, &$user
   }
 
   if ($type == 'validate' && $category == 'account') {
-    return _user_edit_validate(arg(1), $edit);
+    if (is_int(arg(1))) { //determine the UID, to avoid passing along 'register' as uid.
+      $uid = arg(1);
+    }
+    else {
+      $uid = 0;
+    }
+    return _user_edit_validate($uid, $edit);
   }
 
   if ($type == 'categories') {
@@ -1189,7 +1195,8 @@ function user_edit_form($uid, $edit) {
 
 function _user_edit_validate($uid, &$edit) {
   // Validate the username:
-  if (user_access('change own username') || user_access('administer users')) {
+  if (variable_get('user_register', 1) || user_access('change own username') || user_access('administer users')) {
+    watchdog('debug', "Entering _validate with $uid ", WATCHDOG_WARNING);
     if ($error = user_validate_name($edit['name'])) {
       form_set_error('name', $error);
     }
