diff -Nru userpoints.orig/contrib/userpoints_role/userpoints_role.module userpoints/contrib/userpoints_role/userpoints_role.module
--- userpoints.orig/contrib/userpoints_role/userpoints_role.module	2007-10-29 18:55:18.000000000 -0300
+++ userpoints/contrib/userpoints_role/userpoints_role.module	2007-10-29 18:55:46.000000000 -0300
@@ -108,7 +108,7 @@
   }
   else {
     _userpoints_send_mail('join', $uid, $role_point);
-    db_query("INSERT INTO {users_roles} (rid, uid) VALUES ('%d', '%d')", $rid, $uid);
+    user_multiple_role_edit(array($uid), 'add_role', $rid);
   }
 }
 
@@ -118,7 +118,7 @@
   if (_userpoints_check_user_role($uid, $rid)) {
     // User is in that role, need to remove him
     _userpoints_send_mail('leave', $uid, $role_point);
-    db_query("DELETE FROM {users_roles} WHERE rid = %d AND uid = %d", $rid, $uid);
+    user_multiple_role_edit(array($uid), 'remove_role', $rid);
   }
 }
 
