diff --git a/drupalchat.module b/drupalchat.module
index 1dbc9f8..7580533 100644
--- a/drupalchat.module
+++ b/drupalchat.module
@@ -237,6 +237,9 @@ function drupalchat_user_OLD($op, &$edit, &$account, $category = NULL) { }
 function drupalchat_init() {
   if (user_access('access drupalchat')) {
     global $user;
+    $variables['account'] = $user;
+    template_preprocess_username($variables);
+    $user->name = $variables['name'];
 
     $status = db_query('SELECT status FROM {drupalchat_users} WHERE uid = :uid', array(':uid' => $user->uid))->fetchField();
     if (!$status) {
@@ -349,7 +352,9 @@ function drupalchat_status() {
  */
 function drupalchat_poll() {
   global $user;
-
+  $variables['account'] = $user;
+  template_preprocess_username($variables);
+  $user->name = $variables['name'];
 
   $initial_time = REQUEST_TIME;
   $message_count = 0;
@@ -381,7 +386,10 @@ function drupalchat_poll() {
   if ($polling_method == DRUPALCHAT_AJAX) {
     $messages = db_query('SELECT u.name, m.uid1, m.uid2, m.message, m.timestamp FROM {drupalchat_msg} m INNER JOIN {users} u ON m.uid1 = u.uid WHERE m.uid2 = :uid2 AND m.timestamp > :timestamp ORDER BY m.timestamp ASC', array(':uid2' => $user->uid, ':timestamp' => $last_timestamp));
     foreach ($messages as $message) {
-      $json['messages'][] = array('message' => $message->message, 'timestamp' => date("H:i", $message->timestamp), 'uid1' => $message->uid1, 'name' => $message->name);
+        $user_from->uid = $message->uid1;
+        $variables['account'] = $user_from;
+        template_preprocess_username($variables);
+      $json['messages'][] = array('message' => $message->message, 'timestamp' => date("H:i", $message->timestamp), 'uid1' => $message->uid1, 'name' => $variables['name']);
       if ($message->timestamp > $last_timestamp) {
         $last_timestamp = $message->timestamp;
       }
@@ -418,7 +426,10 @@ function drupalchat_poll() {
     //while ($message = db_fetch_object($messages)) {
     // Drupal 7
     foreach ($messages as $message) {
-      $json['messages'][] = array('message' => $message->message, 'timestamp' => date("H:i", $message->timestamp), 'uid1' => $message->uid1, 'name' => $message->name);
+      $user_from->uid = $message->uid1;
+      $variables['account'] = $user_from;
+      template_preprocess_username($variables);
+      $json['messages'][] = array('message' => $message->message, 'timestamp' => date("H:i", $message->timestamp), 'uid1' => $message->uid1, 'name' => $variables['name']);
       if ($message->timestamp > $last_timestamp) {
         $last_timestamp = $message->timestamp;
       }
@@ -489,7 +500,9 @@ function _drupalchat_buddylist_online($buddylist) {
   //while ($buddy = db_fetch_object($result)) {
   // Drupal 7
   foreach ($result as $buddy) {
-    $users[$buddy->uid] = array('name' => $buddy->name, 'status' => $buddy->status);
+    $variables['account'] = $buddy;
+    template_preprocess_username($variables);
+    $users[$buddy->uid] = array('name' => $variables['name'], 'status' => $buddy->status);
   }
   $users['total'] = count($users);
   
