Index: src/js/_enqueues/admin/inline-edit-post.js
===================================================================
--- src/js/_enqueues/admin/inline-edit-post.js	(revision 48310)
+++ src/js/_enqueues/admin/inline-edit-post.js	(working copy)
@@ -529,7 +529,14 @@
 				row.find('.check-column checkbox').prop('checked', false);
 
 				if ( lock_data.avatar_src ) {
-					avatar = $( '<img class="avatar avatar-18 photo" width="18" height="18" alt="" />' ).attr( 'src', lock_data.avatar_src.replace( /&amp;/g, '&' ) );
+					avatar = $( '<img />', {
+						class: 'avatar avatar-18 photo',
+						width: 18,
+						height: 18,
+						alt: '',
+						src: lock_data.avatar_src,
+						srcset: lock_data.avatar_src_2x ? lock_data.avatar_src_2x + ' 2x' : undefined
+					} );
 					row.find('.column-title .locked-avatar').empty().append( avatar );
 				}
 				row.addClass('wp-locked');
Index: src/js/_enqueues/admin/post.js
===================================================================
--- src/js/_enqueues/admin/post.js	(revision 48310)
+++ src/js/_enqueues/admin/post.js	(working copy)
@@ -200,7 +200,14 @@
 					}
 
 					if ( received.lock_error.avatar_src ) {
-						avatar = $( '<img class="avatar avatar-64 photo" width="64" height="64" alt="" />' ).attr( 'src', received.lock_error.avatar_src.replace( /&amp;/g, '&' ) );
+						avatar = $( '<img />', {
+							class: 'avatar avatar-64 photo',
+							width: 64,
+							height: 64,
+							alt: '',
+							src: received.lock_error.avatar_src,
+							srcset: received.lock_error.avatar_src_2x ? received.lock_error.avatar_src_2x + ' 2x' : undefined
+						} );
 						wrap.find('div.post-locked-avatar').empty().append( avatar );
 					}
 
Index: src/wp-admin/includes/misc.php
===================================================================
--- src/wp-admin/includes/misc.php	(revision 48310)
+++ src/wp-admin/includes/misc.php	(working copy)
@@ -1053,9 +1053,9 @@
 						'text' => sprintf( __( '%s is currently editing' ), $user->display_name ),
 					);
 
-					$avatar = get_avatar( $user->ID, 18 );
-					if ( $avatar && preg_match( "|src='([^']+)'|", $avatar, $matches ) ) {
-						$send['avatar_src'] = $matches[1];
+					if ( get_option( 'show_avatars' ) ) {
+						$send['avatar_src']    = get_avatar_url( $user->ID, array( 'size' => 18 ) );
+						$send['avatar_src_2x'] = get_avatar_url( $user->ID, array( 'size' => 36 ) );
 					}
 
 					$checked[ $key ] = $send;
@@ -1103,11 +1103,9 @@
 				'text' => sprintf( __( '%s has taken over and is currently editing.' ), $user->display_name ),
 			);
 
-			$avatar = get_avatar( $user->ID, 64 );
-			if ( $avatar ) {
-				if ( preg_match( "|src='([^']+)'|", $avatar, $matches ) ) {
-					$error['avatar_src'] = $matches[1];
-				}
+			if ( get_option( 'show_avatars' ) ) {
+				$error['avatar_src']    = get_avatar_url( $user->ID, array( 'size' => 64 ) );
+				$error['avatar_src_2x'] = get_avatar_url( $user->ID, array( 'size' => 128 ) );
 			}
 
 			$send['lock_error'] = $error;
