diff --git src/bp-core/bp-core-avatars.php src/bp-core/bp-core-avatars.php
index fb74fee..733b5f0 100644
--- src/bp-core/bp-core-avatars.php
+++ src/bp-core/bp-core-avatars.php
@@ -30,6 +30,10 @@ function bp_core_set_avatar_constants() {
 	if ( !defined( 'BP_AVATAR_ORIGINAL_MAX_WIDTH' ) )
 		define( 'BP_AVATAR_ORIGINAL_MAX_WIDTH', 450 );
 
+	if ( ! defined( 'BP_AVATAR_ORIGINAL_MOBILE_MAX_WIDTH' ) ) {
+		define( 'BP_AVATAR_ORIGINAL_MOBILE_MAX_WIDTH', 280 );
+	}
+
 	if ( !defined( 'BP_AVATAR_ORIGINAL_MAX_FILESIZE' ) ) {
 
 		$fileupload_maxk = bp_core_get_root_option( 'fileupload_maxk' );
@@ -65,8 +69,9 @@ function bp_core_set_avatar_globals() {
 	$bp->avatar->full->height  = BP_AVATAR_FULL_HEIGHT;
 
 	// Upload maximums
-	$bp->avatar->original_max_width    = BP_AVATAR_ORIGINAL_MAX_WIDTH;
-	$bp->avatar->original_max_filesize = BP_AVATAR_ORIGINAL_MAX_FILESIZE;
+	$bp->avatar->original_max_width        = BP_AVATAR_ORIGINAL_MAX_WIDTH;
+	$bp->avatar->original_max_mobile_width = BP_AVATAR_ORIGINAL_MOBILE_MAX_WIDTH;
+	$bp->avatar->original_max_filesize     = BP_AVATAR_ORIGINAL_MAX_FILESIZE;
 
 	// Defaults
 	$bp->avatar->thumb->default = bp_core_avatar_default_thumb();
@@ -1687,6 +1692,25 @@ function bp_core_avatar_original_max_width() {
 }
 
 /**
+ * Get the max width for original avatar uploads for mobile devices.
+ *
+ * @since BuddyPress (2.4.0)
+ *
+ * @return int The max width for original avatar uploads.
+ */
+function bp_core_avatar_original_max_mobile_width() {
+
+	/**
+	 * Filters the max width for original avatar uploads for mobile devices.
+	 *
+	 * @since BuddyPress (2.4.0)
+	 *
+	 * @param int $value Value for the max width.
+	 */
+	return apply_filters( 'bp_core_avatar_original_max_mobile_width', (int) buddypress()->avatar->original_max_mobile_width );
+}
+
+/**
  * Get the max filesize for original avatar uploads.
  *
  * @since BuddyPress (1.5.0)
diff --git src/bp-core/classes/class-bp-attachment-avatar.php src/bp-core/classes/class-bp-attachment-avatar.php
index f003b65..b9e6d94 100644
--- src/bp-core/classes/class-bp-attachment-avatar.php
+++ src/bp-core/classes/class-bp-attachment-avatar.php
@@ -130,14 +130,22 @@ class BP_Attachment_Avatar extends BP_Attachment {
 		$size   = @getimagesize( $file );
 		$retval = false;
 
+		// Defaults to original max width
+		$original_max_width = bp_core_avatar_original_max_width();
+
+		// Check if mobile and eventually adapt the max width
+		if ( wp_is_mobile() ) {
+			$original_max_width = bp_core_avatar_original_max_mobile_width();
+		}
+
 		// Check image size and shrink if too large
-		if ( $size[0] > bp_core_avatar_original_max_width() ) {
+		if ( $size[0] > $original_max_width ) {
 			$editor = wp_get_image_editor( $file );
 
 			if ( ! is_wp_error( $editor ) ) {
 				$editor->set_quality( 100 );
 
-				$resized = $editor->resize( bp_core_avatar_original_max_width(), bp_core_avatar_original_max_width(), false );
+				$resized = $editor->resize( $original_max_width, $original_max_width, false );
 				if ( ! is_wp_error( $resized ) ) {
 					$thumb = $editor->save( $editor->generate_filename() );
 				} else {
