diff -urNP realname.orig/realname.module realname/realname.module
--- realname.orig/realname.module       2009-10-13 21:48:06.000000000 +0400
+++ realname/realname.module    2009-10-19 10:36:37.000000000 +0400
@@ -695,14 +695,16 @@

   // Check static cache first.
   if (isset($users[$account->uid])) {
-    $account->homepage = isset($links[$account->uid]) ? $links[$account->uid] : NULL;
+    //$account->homepage = isset($links[$account->uid]) ? $links[$account->uid] : NULL;
     return $users[$account->uid];
   }

   $result = _realname_make_name($account);
   if (empty($result)) {
+    $users[$account->uid] = $account->name;
     return $account->name;
   }
+  $users[$account->uid] = $result;
   if (!db_result(db_query("SELECT uid FROM {realname} WHERE uid=%d", $account->uid))) {
     db_query("INSERT INTO {realname} (uid, realname) VALUES(%d, '%s')", $account->uid, $result);
   }
diff -urNP realname.orig/realname_theme.inc realname/realname_theme.inc
--- realname.orig/realname_theme.inc    2009-10-01 19:25:11.000000000 +0400
+++ realname/realname_theme.inc 2009-10-19 10:41:38.000000000 +0400
@@ -30,6 +30,7 @@
  */
 function realname_username($object, $options = array()) {
   static $roles = array();
+  static $user_roles = array();

   $defaults = array(
     'plain' => FALSE,
@@ -63,9 +64,15 @@
         // If there are no roles in this object (e.g. a node), go get them.
         if (!isset($object->roles)) {
           $object->roles = array();
-          $result = db_query("SELECT r.rid, r.name FROM {users_roles} ur JOIN {role} r USING(rid) WHERE uid=%d", $object->uid);
-          while ($row = db_fetch_object($result)) {
-            $object->roles[$row->rid] = $row->name;
+          if (isset($user_roles[$object->uid])) {
+            $object->roles = $user_roles[$object->uid];
+          }
+          else {
+            $result = db_query("SELECT r.rid, r.name FROM {users_roles} ur JOIN {role} r USING(rid) WHERE uid=%d", $object->uid);
+            while ($row = db_fetch_object($result)) {
+              $object->roles[$row->rid] = $row->name;
+            }
+            $user_roles[$object->uid] = $object->roles;
           }
         }
         // Format user levels here.
