diff --git a/userpoints_register/userpoints_register.info b/userpoints_register/userpoints_register.info
index c964fcc..b344b93 100644
--- a/userpoints_register/userpoints_register.info
+++ b/userpoints_register/userpoints_register.info
@@ -1,5 +1,6 @@
 name = Userpoints Register
 description = Users earn points just for registering on the site
 package = Userpoints
+core = 7.x
+configure = admin/config/people/userpoints/settings
 dependencies[] = userpoints
-core = 6.x
diff --git a/userpoints_register/userpoints_register.install b/userpoints_register/userpoints_register.install
new file mode 100644
index 0000000..5644679
--- /dev/null
+++ b/userpoints_register/userpoints_register.install
@@ -0,0 +1,16 @@
+<?php
+
+/*
+ * @file
+ * Provides for uninstall cleanup of userpoints_register variables.
+ */
+
+/**
+ * Implementation of hook_uninstall().
+ */
+function userpoints_nodelimit_uninstall() {
+  variable_del('userpoints_register_enabled');
+  variable_del('userpoints_register_points');
+  variable_del('userpoints_register_category');
+  variable_del('userpoints_register_display');
+}
diff --git a/userpoints_register/userpoints_register.js b/userpoints_register/userpoints_register.js
new file mode 100644
index 0000000..607ccb8
--- /dev/null
+++ b/userpoints_register/userpoints_register.js
@@ -0,0 +1,21 @@
+// $Id$
+(function ($) {
+  Drupal.behaviors.userpointsRegisterFieldsetSummaries = {
+    attach: function (context) {
+      // This is both for the userpoints settings and the node type settings
+      // vertical tab.
+      $('fieldset#edit-userpoints-register', context).drupalSetSummary(function (context) {
+        var params = {
+          '@points': $('#edit-userpoints-register-points', context).val(),
+          '%category': $('select#edit-userpoints-register-category :selected', context).text()
+        }
+        if ($('#edit-userpoints-register-enabled').is(':checked')) {
+          return Drupal.t('Enabled, @points (%category) for content.', params);
+        }
+        else {
+          return Drupal.t('Disabled, @points (%category) for content.', params);
+        }
+      })
+    }
+  };
+})(jQuery);
diff --git a/userpoints_register/userpoints_register.module b/userpoints_register/userpoints_register.module
index 0f80968..e9b82aa 100644
--- a/userpoints_register/userpoints_register.module
+++ b/userpoints_register/userpoints_register.module
@@ -1,73 +1,95 @@
 <?php
 
-// @file
-// userpoints_contrib to award people a configurable number of userpoints for registering
-// Created by Thomas Turnbull (tom_o_t) for Sony Music
-
-define('USERPOINTS_REGISTER_REGISTER', 'userpoints_register_register');
-define('USERPOINTS_REGISTER_TID',      'userpoints_register_tid');
-define('USERPOINTS_REGISTER_DISPLAY',  'userpoints_register_display');
-
 /*
-* Implementation of hook_userpoints()
-* Creates points configuration form for awarding points for registering
-*/
+ * @file
+ * Awards people a configurable number of userpoints for registering.
+ * Created by Thomas Turnbull (tom_o_t) for Sony Music
+ *
+ * Updated to Drupal 7 by Bastlynn ( bastlynn@gmail.com )
+ */
 
+/*
+ * Implements hook_userpoints().
+ *
+ * Creates points configuration form for awarding points for registering.
+ */
 function userpoints_register_userpoints($op, $params = array()) {
-  switch($op) {
+  switch ($op) {
     case 'setting':
-      $group = 'register';
-      $form[$group] = array(
-        '#type'        => 'fieldset',
+      $form['userpoints_register'] = array(
+        '#type' => 'fieldset',
+        '#title' => t('!Points for registering', userpoints_translation()),
         '#collapsible' => TRUE,
-        '#collapsed'   => TRUE,
-        '#title'       => t('!Points for registering', userpoints_translation()),
+        '#collapsed' => TRUE,
+        '#access' => user_access('administer userpoints'),
+        '#weight' => 25,
+        '#group' => 'settings_additional',
+        '#attached' => array(
+          'js' => array(
+            'userpoints_nodelimit' => drupal_get_path('module', 'userpoints_register') . '/userpoints_register.js',
+          ),
+        ),
       );
-
-      $form[$group][USERPOINTS_REGISTER_REGISTER] = array(
+      $form['userpoints_register']['userpoints_register_enabled'] = array(
+        '#type' => 'checkbox',
+            '#title' => t('Enabled by default.'),
+            '#default_value' => variable_get('userpoints_register_enabled', TRUE),
+            '#description' => t('If checked, new users will gain !points on registration.', userpoints_translation()),
+      );
+      $form['userpoints_register']['userpoints_register_points'] = array(
         '#type'          => 'textfield',
         '#title'         => t('!Points for registering', userpoints_translation()),
-        '#default_value' => variable_get(USERPOINTS_REGISTER_REGISTER, 0),
+        '#default_value' => variable_get('userpoints_register_points', 0),
         '#size'          => 5,
         '#maxlength'     => 5,
       );
-
-      $form[$group][USERPOINTS_REGISTER_TID] = array(
+      $form['userpoints_register']['userpoints_register_category'] = array(
         '#type'          => 'select',
         '#title'         => t('Category'),
-        '#default_value' => variable_get(USERPOINTS_REGISTER_TID, 0),
+        '#default_value' => variable_get('userpoints_register_category', 0),
         '#options'       => userpoints_get_categories(),
-        '#description'   => t('Registration will be assigned to this category. You can modify what categories are available by modifying the <a href="!url">Userpoints taxonomy</a>.',
-          array('!url' => url('admin/content/taxonomy/'. variable_get(USERPOINTS_CATEGORY_DEFAULT_VID, '')))),
+        '#description'   => t('!points will be assigned to this category.', userpoints_translation()),
       );
-
-      $form[$group][USERPOINTS_REGISTER_DISPLAY] = array(
+      $form['userpoints_register']['userpoints_register_display'] = array(
         '#type' => 'checkbox',
         '#title' => t('Display message to user upon registering'),
-        '#default_value' => variable_get(USERPOINTS_REGISTER_DISPLAY, 1),
-        '#description' => t('If disabled, UserPoints will hide informational message about the points during registering. Useful for situations, where username is not fully available, such as when using Content Profile module.'),
+        '#default_value' => variable_get('userpoints_register_display', TRUE),
+        '#description' => t('If disabled, informational message about the !points will be hidden during registering. ' .
+          'This is useful for situations where the user name is not yet available, such as when using Content Profile module.',
+          userpoints_translation()),
       );
-
       return $form;
   }
 }
 
 /*
-*   Implementation of hook_user()
-*   Awards the points for registering
-*/
-function userpoints_register_user($op, &$edit, &$account, $category = NULL) {
-  if ($op == 'insert') {
-    // Award the points - implementation of hook_userpointsapi()
-    $param = array(
-      'points'      => variable_get(USERPOINTS_REGISTER_REGISTER, 0),
-      'uid'         => $account->uid,
-      'operation'   => 'register',
-      'entity_type' => 'user',
-      'entity_id'   => $account->uid,
-      'tid'         => variable_get(USERPOINTS_REGISTER_TID, 0),
-      'display'     => variable_get(USERPOINTS_REGISTER_DISPLAY, 1),
-    );
-    userpoints_userpointsapi($param);
+ * Implements hook_userpoints_info().
+ */
+function userpoints_register_userpoints_info() {
+  return array(
+    'userpoints_register' => array(
+      'description' => t('!Points for registering.', userpoints_translation()),
+    )
+  );
+}
+
+/*
+ * Implements hook_user_insert().
+ *
+ * Awards the points for registering.
+ */
+function userpoints_register_user_insert(&$edit, $account, $category) {
+  if (variable_get('userpoints_register_enabled', TRUE) != TRUE) {
+    return;
   }
+  $param = array(
+    'points'      => variable_get('userpoints_register_points', 0),
+    'tid'         => variable_get('userpoints_register_category', 0),
+    'uid'         => $account->uid,
+    'operation'   => 'userpoints_register',
+    'entity_id'   => $account->uid,
+    'entity_type' => 'user',
+    'display'     => variable_get('userpoints_register_display', TRUE),
+  );
+  userpoints_userpointsapi($param);
 }
