How to prevent Profile2 fields from loading on user registration? I have a profile2 Profile that's named Driver.
This profile has a Term reference to a vocabulary named Cities that contains over 30.000 terms.

I made a custom user-register.tpl.php by declaring it in my template.php, and in here I display only the form keys that interests me for the account creation.
When I go to driver/register which is the custom page for registering to my profile type, the loading is taking too much time, and I suspect it to be caused by the loading of all the fields of my profile (even those non-rendered) and more especially that vast vocabulary.

I looked into profile2 folders and files trying to comment parts related to the registration but nothing would prevent the loading from happening.
I also tried to unset($form[profile_driver]) in my theme_form_user_register_alter, but it doesn't affect the fact that the profile fields are still loaded before being removed from $form, so I figured it has to be directly in profile2.

Been struggling for quite some days now so if anyone has clues on how to prevent the loading of the whole profile form or ideally specific fields I would be glad to read how to do the trick !
Thanks

7.x-1.4



FINAL EDIT :

I didn't manage to do it programmatically so I ended up setting up a Rule that assigns the Profile &amp; the role to the newly saved user.
Been struggling for quite some days now so if anyone has clues on how
  to prevent the loading of the whole profile form


Looks to me that the magic happens in profile2.module from line 436 to 460


/**
 * Implements hook_form_FORM_ID_alter() for the registration form.
 */
function profile2_form_user_register_form_alter(&amp;$form, &amp;$form_state) {
  foreach (profile2_get_types() as $type_name =&gt; $profile_type) {
    if (!empty($profile_type-&gt;data['registration'])) {
      if (empty($form_state['profiles'][$type_name])) {
        $form_state['profiles'][$type_name] = profile2_create(array('type' =&gt; $type_name));
      }
    }
  }

  // If we have profiles to attach to the registration form - then do it.
  if (!empty($form_state['profiles'])) {
    profile2_attach_form($form, $form_state);

    // Wrap each profile form in a fieldset.
    foreach ($form_state['profiles'] as $type_name =&gt; $profile_type) {
      $form['profile_' . $type_name] += array(
        '#type' =&gt; 'fieldset',
        '#title' =&gt; check_plain($profile_type-&gt;getTranslation('label')),
      );
    }
  }
}



Usually I would never hack a contrib module directly, but unfortunately here there is no other option considering you have a profile field that loads 30,000 terms. So comment this out and flush/clear cache. 

Just remember if there is ever an update to this module, it will override your changes, so you will have to comment it out again then.