diff -urp --strip-trailing-cr ../drupal-6.x-dev/modules/user/user.module ./modules/user/user.module
--- ../drupal-6.x-dev/modules/user/user.module	2007-10-12 12:41:48.000000000 +0200
+++ ./modules/user/user.module	2007-10-14 19:00:26.000000000 +0200
@@ -203,6 +203,11 @@ function user_save($account, $array = ar
     user_module_invoke('update', $array, $account, $category);
     $query = '';
     $data = unserialize(db_result(db_query('SELECT data FROM {users} WHERE uid = %d', $account->uid)));
+    // If the user never logged in, but an administrator edited the profile, consider
+    // this as activity, to publish profile page for anonymous users (if given permission).
+    if (empty($array['access']) && empty($account->access) && user_access('administer users')) {
+      $array['access'] = time();
+    }
     foreach ($array as $key => $value) {
       if ($key == 'pass' && !empty($value)) {
         $query .= "$key = '%s', ";
@@ -269,6 +274,11 @@ function user_save($account, $array = ar
     if (!isset($array['created'])) {    // Allow 'created' to be set by the caller
       $array['created'] = time();
     }
+    // Consider users created by an administrator as already logged in, to enable
+    // anonymous users viewing the profile pages (if given permission).
+    if (empty($array['access']) && user_access('administer users')) {
+      $array['access'] = time();
+    }
 
     // Note, we wait with saving the data column to prevent module-handled
     // fields from being saved there. We cannot invoke hook_user('insert') here
