diff --git a/resources/user_resource.inc b/resources/user_resource.inc
index 739cb86..5c93b8d 100644
--- a/resources/user_resource.inc
+++ b/resources/user_resource.inc
@@ -1,7 +1,7 @@
 <?php
 
 function _user_resource_definition() {
-  return array(
+  $definition = array(
     'user' => array(
       'retrieve' => array(
         'help' => 'Retrieves a user',
@@ -143,26 +143,15 @@ function _user_resource_definition() {
           'callback' => '_user_resource_logout',
           'access callback' => 'services_access_menu',
         ),
-        'register' => array(
-          'help' => 'Register a user',
-          'callback' => '_user_resource_create',
-          'file' => array('type' => 'inc', 'module' => 'services', 'name' => 'resources/user_resource'),
-          'access callback' => '_user_resource_access',
-          'access arguments' => array('register'),
-          'access arguments append' => FALSE,
-          'args' => array(
-            array(
-              'name' => 'account',
-              'type' => 'array',
-              'description' => 'The user object',
-              'source' => 'data',
-              'optional' => FALSE,
-            ),
-          ),
-        ),
       ),
     ),
   );
+
+  $definition['user']['actions']['register'] = array_merge($definition['user']['create'], array(
+    'help' => 'Register a user',
+  ));
+
+  return $definition;
 }
 
 /**
@@ -444,16 +433,17 @@ function _user_resource_access($op = 'view', $args = array()) {
       }
       return ($user->uid == $account->uid || user_access('administer users'));
     case 'create':
-      return user_access('administer users');
+      if (!$user->uid && variable_get('user_register', USER_REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL) != USER_REGISTER_ADMINISTRATORS_ONLY) {
+        return TRUE;
+      }
+      else {
+        return user_access('administer users');
+      }
     case 'delete':
       $account = user_load($args[0]);
       if (!$account->uid) {
         return services_error(t('There is no user with ID @uid.', array('@uid' => $account->uid)), 406);
       }
       return user_access('administer users');
-    case 'register':
-      if (!$user->uid && variable_get('user_register', USER_REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL) != USER_REGISTER_ADMINISTRATORS_ONLY) {
-        return TRUE;
-      }
   }
 }
