diff --git modules/block/block.module modules/block/block.module
index 1ab1c43..601f186 100644
--- modules/block/block.module
+++ modules/block/block.module
@@ -579,6 +579,19 @@ function block_form_user_profile_form_alter(&$form, &$form_state) {
 }
 
 /**
+ * Implements hook_field_extra_fields().
+ */
+function block_field_extra_fields() {
+  $extra['user']['user']['form']['block'] = array(
+    'label' => 'Personalize blocks',
+    'description' => t('Block module form element.'),
+    'weight' => 3,
+  );
+
+  return $extra;
+}
+
+/**
  * Implements hook_user_presave().
  */
 function block_user_presave(&$edit, $account, $category) {
@@ -1023,3 +1036,4 @@ function block_modules_uninstalled($modules) {
     ->condition('module', $modules, 'IN')
     ->execute();
 }
+
diff --git modules/contact/contact.module modules/contact/contact.module
index eaae9c6..a00931f 100644
--- modules/contact/contact.module
+++ modules/contact/contact.module
@@ -255,3 +255,16 @@ function contact_form_user_admin_settings_alter(&$form, &$form_state) {
     '#default_value' => variable_get('contact_default_status', 1),
   );
 }
+
+/**
+ * Implements hook_field_extra_fields().
+ */
+function contact_field_extra_fields() {
+  $extra['user']['user']['form']['contact'] = array(
+    'label' => 'Contact',
+    'description' => t('Contact module form element.'),
+    'weight' => 5,
+  );
+
+  return $extra;
+}
diff --git modules/locale/locale.module modules/locale/locale.module
index da8ad13..67a21cc 100644
--- modules/locale/locale.module
+++ modules/locale/locale.module
@@ -294,6 +294,19 @@ function locale_language_selector_form(&$form, &$form_state, $user) {
 }
 
 /**
+ * Implements hook_field_extra_fields().
+ */
+function locale_field_extra_fields() {
+  $extra['user']['user']['form']['locale'] = array(
+    'label' => 'Language settings',
+    'description' => t('Locale module form element.'),
+    'weight' => 1,
+  );
+
+  return $extra;
+}
+
+/**
  * Implements hook_form_FORM_ID_alter().
  */
 function locale_form_path_admin_form_alter(&$form, &$form_state) {
diff --git modules/overlay/overlay.module modules/overlay/overlay.module
index 9af18e1..56da7e1 100644
--- modules/overlay/overlay.module
+++ modules/overlay/overlay.module
@@ -103,6 +103,19 @@ function overlay_form_user_profile_form_alter(&$form, &$form_state) {
 }
 
 /**
+ * Implements hook_field_extra_fields().
+ */
+function overlay_field_extra_fields() {
+  $extra['user']['user']['form']['overlay_control'] = array(
+    'label' => 'Administrative overlay',
+    'description' => t('Overlay module form element.'),
+    'weight' => 4,
+  );
+
+  return $extra;
+}
+
+/**
  * Implements hook_user_presave().
  */
 function overlay_user_presave(&$edit, $account, $category) {
@@ -973,3 +986,4 @@ function overlay_trigger_refresh() {
 function overlay_ajax_render_region($region) {
   print overlay_render_region($region);
 }
+
diff --git modules/user/user.module modules/user/user.module
index 044ad46..62e937a 100644
--- modules/user/user.module
+++ modules/user/user.module
@@ -212,7 +212,7 @@ function user_field_extra_fields() {
     'form' => array(
       'account' => array(
         'label' => 'User name and password',
-        'description' => t('User module account form elements'),
+        'description' => t('User module account form elements.'),
         'weight' => -10,
       ),
       'timezone' => array(
@@ -230,6 +230,26 @@ function user_field_extra_fields() {
     ),
   );
 
+  if (variable_get('user_pictures', 1) == 1) {
+    $return['user']['user']['form'] += array(
+      'picture' => array(
+        'label' => 'User picture',
+        'description' => t('User module picture form element.'),
+        'weight' => 2,
+      ),
+    );
+  }
+
+  if (variable_get('user_signatures', 1) == 1) {
+    $return['user']['user']['form'] += array(
+      'signature_settings' => array(
+        'label' => 'User signature',
+        'description' => t('User module signature form element.'),
+        'weight' => 1,
+      ),
+    );
+  }
+
   return $return;
 }
 
