diff --git modules/user/user.admin.inc modules/user/user.admin.inc
index 123d0c1..92fc036 100644
--- modules/user/user.admin.inc
+++ modules/user/user.admin.inc
@@ -397,14 +397,28 @@ function user_admin_settings() {
       '#description' => t('The style selected will be used on display, while the original image is retained. Styles may be configured in the <a href="!url">Image styles</a> administration area.', array('!url' => url('admin/config/media/image-styles'))),
     );
   }
+  $user_picture_dimensions = explode('x', variable_get('user_picture_dimensions', '85x85')) + array('', '');
   $form['personalization']['pictures']['user_picture_dimensions'] = array(
-    '#type' => 'textfield',
+    '#type' => 'item',
     '#title' => t('Picture upload dimensions'),
-    '#default_value' => variable_get('user_picture_dimensions', '85x85'),
-    '#size' => 10,
-    '#maxlength' => 10,
-    '#field_suffix' => ' ' . t('pixels'),
-    '#description' => t('Pictures larger than this will be scaled down to this size.'),
+    '#description' => t('The maximum allowed image size (e.g. 85x85). Set to 0x0 for no restriction. If an <a href="!image-toolkit-link">image toolkit</a> is installed, files exceeding this value will be scaled down to fit.', array('!image-toolkit-link' => url('admin/config/media/image-toolkit'))),
+    '#field_prefix' => '<div class="container-inline">',
+    '#field_suffix' => '</div>',
+    '#element_validate' => array('user_picture_field_max_resolution_validate'),
+  );
+  $form['personalization']['pictures']['user_picture_dimensions']['user_picture_max_resolution_x'] = array(
+    '#type' => 'textfield',
+    '#default_value' => variable_get('user_picture_max_resolution_x', 85),
+    '#size' => 5,
+    '#maxlength' => 5,
+    '#field_suffix' => t('x'),
+  );
+  $form['personalization']['pictures']['user_picture_dimensions']['user_picture_max_resolution_y'] = array(
+    '#type' => 'textfield',
+    '#default_value' => variable_get('user_picture_max_resolution_y', 85),
+    '#size' => 5,
+    '#maxlength' => 5,
+    '#field_suffix' => t('px'),
   );
   $form['personalization']['pictures']['user_picture_file_size'] = array(
     '#type' => 'textfield',
diff --git modules/user/user.install modules/user/user.install
index 615743b..3c80bc6 100644
--- modules/user/user.install
+++ modules/user/user.install
@@ -855,6 +855,23 @@ function user_update_7015() {
 }
 
 /**
+ * Split the picture dimensions variable in two
+ */
+function user_update_7016() {
+  $user_picture_dimensions = variable_get('user_picture_dimensions', '85x85');
+  $dimensions = explode("x", $user_picture_dimensions);
+
+  // There was no validation on this field. Assign default values if dimensions are invalid
+  if (count($dimensions) != 2) {
+    $dimensions = array(85, 85);
+  }
+
+  variable_set('user_picture_max_resolution_x', $dimensions[0]);
+  variable_set('user_picture_max_resolution_y', $dimensions[1]);
+  variable_del('user_picture_dimensions');
+}
+
+/**
  * @} End of "defgroup user-updates-6.x-to-7.x"
  * The next series of updates should start at 8000.
  */
diff --git modules/user/user.module modules/user/user.module
index 4a636da..d922a85 100644
--- modules/user/user.module
+++ modules/user/user.module
@@ -3514,6 +3514,20 @@ function user_image_style_save($style) {
 }
 
 /**
+ * Element validate function for user picture resolution field.
+ */
+function user_picture_field_max_resolution_validate($element, &$form_state) {
+  foreach (array('x', 'y') as $dimension) {
+    $value = $element['user_picture_max_resolution_' . $dimension]['#value'];
+    if (!is_numeric($value)) {
+      form_error($element['user_picture_max_resolution_' . $dimension], t('Height and width values must be numeric.'));
+      return;
+    }
+  }
+  form_set_value($element, intval($element['user_picture_max_resolution_x']['#value']) . 'x' . intval($element['user_picture_max_resolution_y']['#value']), $form_state);
+}
+
+/**
  * Implements hook_action_info().
  */
 function user_action_info() {
