diff --git a/username_check.module b/username_check.module
index 29a420a..efb1d0b 100644
--- a/username_check.module
+++ b/username_check.module
@@ -51,4 +51,11 @@ function _username_check_load_resources() {
     ),
   ), 'setting');
   
+}
+
+function username_check_form_user_profile_form_alter(&$form) {
+    _username_check_load_resources();
+
+    $form['account']['name']['#field_suffix'] = '<span id="username-check-informer">&nbsp;</span>';
+    $form['account']['name']['#suffix'] = '<div id="username-check-message"></div>';
 }
\ No newline at end of file
diff --git a/username_check.unique.inc b/username_check.unique.inc
index 2901ff5..ac99763 100644
--- a/username_check.unique.inc
+++ b/username_check.unique.inc
@@ -28,7 +28,8 @@ function username_check_callback() {
       $username = check_plain($username);
       $ret = _username_check_is_user_exists($username);
 
-      if ($ret) {
+      global $user;
+      if ($ret && $username != $user->name) {
         $output['allowed'] = FALSE;
         $output['msg'] = t('The name %username is already taken.', array('%username' => $username));
       }
@@ -46,4 +47,4 @@ function username_check_callback() {
  */
 function _username_check_is_user_exists($username) {
   return db_query("SELECT COUNT(u.name) count FROM {users} u WHERE LOWER(u.name) = LOWER(:username)", array(':username' => $username))->fetchField();
-}
+}
\ No newline at end of file
