Index: subuser/subuser.module
===================================================================
--- subuser/subuser.module	(revision 558)
+++ subuser/subuser.module	(working copy)
@@ -264,6 +264,15 @@
     case 'user_register_form':
       // Remove the limit user setting from users that doesnt have the administer subusers permissions
       $form['field_subuser_limit']['#access'] = user_access('administer subusers', $user);
+      // Expose any roles to which the user has access to grant, as above.
+      if (!$form['account']['roles']['#access']) {
+        foreach ($form['account']['roles']['#options'] as $rid => $role) {
+          if (!user_access('create subuser ' . $rid)) {
+            unset($form['account']['roles']['#options'][$rid]);
+          }
+        }
+        $form['account']['roles']['#access'] = count($form['account']['roles']['#options']) > 0;
+      }
     break;
   }
 }
