diff --git a/profile.module b/profile.module
index 8e8ef7d..e542ef6 100644
--- a/profile.module
+++ b/profile.module
@@ -302,6 +302,40 @@ function profile_form_user_register_form_submit(array &$form, FormStateInterface
 }
 
 /**
+ * Implements hook_form_FORM_ID_alter().
+ */
+function profile_form_user_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
+  // user_register_form is also called by this form alter.
+  if ($form_id != 'user_form') {
+    return;
+  }
+
+  // add the profile values to the $form_state so the form_alter of register pickes this up
+  $account = $form_state->getFormObject()->getEntity();
+
+  /** @var \Drupal\profile\ProfileStorage $profileStorage */
+  $profileStorage = \Drupal::service('entity_type.manager')
+    ->getStorage('profile');
+
+  // Load in all the profiles for this user and add it to the form state
+  /** @var ProfileType[] $profile_types */
+  $profile_types = ProfileType::loadMultiple();
+  foreach ($profile_types as $profile_type) {
+
+    if ($profile_type->getRegistration() === TRUE) {
+      /** @var Profile $profile */
+      $profile = $profileStorage->loadDefaultByUser($account, $profile_type->id());
+      $property = ['profiles', $profile_type->id()];
+      // Attach profile entity form.
+      $form_state->set($property, $profile);
+    }
+  }
+
+  // Add profile module form alter of user register.
+  profile_form_user_register_form_alter($form, $form_state);
+}
+
+/**
  * Pre render callback for profile embedded views to ensure a title is set.
  * @param $element
  *
