diff --git userpoints_badges/userpoints_badges.install userpoints_badges/userpoints_badges.install
index c65d5dd..ef5927f 100644
--- userpoints_badges/userpoints_badges.install
+++ userpoints_badges/userpoints_badges.install
@@ -15,7 +15,9 @@ function userpoints_badges_schema() {
       ),
       'userpoints_goal' => array(
         'description' => t('Number points user much reach.'),
-        'type' => 'int',
+        'type' => 'numeric',
+		'precision' => 9,
+		'scale' => 2,
         'unsigned' => TRUE,
         'not null' => TRUE,
         'default' => 0,
diff --git userpoints_badges/userpoints_badges.module userpoints_badges/userpoints_badges.module
index f7776a2..c0470ed 100644
--- userpoints_badges/userpoints_badges.module
+++ userpoints_badges/userpoints_badges.module
@@ -74,7 +74,7 @@ function userpoints_badges_edit_badge_submit($form, &$form_state) {
   db_query("DELETE FROM {userpoints_badges} WHERE bid=%d", $bid);
   
   if (trim($form_values['userpoints_goal']) !== '') {
-    db_query("INSERT INTO {userpoints_badges} (bid, userpoints_goal) VALUES (%d, %d)",
+    db_query("INSERT INTO {userpoints_badges} (bid, userpoints_goal) VALUES (%d, %n)",
       $bid, $form_values['userpoints_goal']);
     userpoints_badges_run_mass_badge_check($bid, $form_values['userpoints_goal']);
   }
@@ -92,7 +92,7 @@ function userpoints_badges_delete_badge_submit($form, &$form_state) {
  */
 function userpoints_badges_run_mass_badge_check($bid, $userpoints_goal) {
   db_query("DELETE FROM {user_badges_user} WHERE bid=%d", $bid);
-  $resultset = db_query("SELECT uid FROM {userpoints} WHERE uid > 0 GROUP BY uid HAVING SUM(points) > %d", 
+  $resultset = db_query("SELECT uid FROM {userpoints} WHERE uid > 0 GROUP BY uid HAVING SUM(points) > %n", 
     $userpoints_goal);
   while ($account = db_fetch_object($resultset)) {
     user_badges_user_add_badge($account->uid, $bid, strtr('Userpoints @bid', array('@bid' => $bid)));
diff --git userpoints_role/userpoints_role.module userpoints_role/userpoints_role.module
index 3c520ac..f18c87e 100644
--- userpoints_role/userpoints_role.module
+++ userpoints_role/userpoints_role.module
@@ -336,7 +336,7 @@ function _userpoints_role_load_role_data($rid, $name) {
   return array(
     'rid'    => $rid,
     'name'   => $name,
-    'points' => (int)variable_get(USERPOINTS_ROLE . $rid, 0),
+    'points' => (numeric)variable_get(USERPOINTS_ROLE . $rid, 0),
     'tid'    => variable_get(USERPOINTS_ROLE . $rid .'_tid', 0),
   );
 }
