CiviCRM Problems when using admin/user/user functions

HEAD, Code, bug, normal, active

When we're doing bulk approvals from the admin/user/user page, we have CRM errors. Sometimes, these errors are coming back at us:
Error Details:Array(    [callback] => Array        (            [0] => CRM_Core_Error            [1] => handle        )    [code] => -5    [message] => DB Error: already exists    [mode] => 16    [debug_info] => INSERT INTO civicrm_uf_match (uf_id , contact_id , domain_id , email ) VALUES ( 2101 ,  14082 ,  1 , 'XaXont169@hotmail.com' )  [nativecode=1062 ** Duplicate entry '14082' for key 3]    [type] => DB_Error    [user_info] => INSERT INTO civicrm_uf_match (uf_id , contact_id , domain_id , email ) VALUES ( 2101 ,  14082 ,  1 , 'XaXont169@hotmail.com' )  [nativecode=1062 ** Duplicate entry '14082' for key 3]    [to_string] => [db_error: message="DB Error: already exists" code=-5 mode=callback callback=CRM_Core_Error::handle prefix="" info="INSERT INTO civicrm_uf_match (uf_id , contact_id , domain_id , email ) VALUES ( 2101 ,  14082 ,  1 , 'XaXont169@hotmail.com' )  [nativecode=1062 ** Duplicate entry '14082' for key 3]"])
Why is this doing an insert when it should be doing an update?
We are using Drupal 5.1 and CiviCRM 1.8
Thanks in advance