Index: src/wp-admin/includes/update.php
===================================================================
--- src/wp-admin/includes/update.php	(revision 38204)
+++ src/wp-admin/includes/update.php	(working copy)
@@ -631,7 +631,7 @@
 function wp_print_admin_notice_templates() {
 	?>
 	<script id="tmpl-wp-updates-admin-notice" type="text/html">
-		<div <# if ( data.id ) { #>id="{{ data.id }}"<# } #> class="notice {{ data.className }}"><p>{{{ data.message }}}</p></div>
+		<div <# if ( data.id ) { #>id="{{ data.id }}"<# } #> class="notice {{ data.className }}"><p>{{ data.message }}</p></div>
 	</script>
 	<script id="tmpl-wp-bulk-updates-admin-notice" type="text/html">
 		<div id="{{ data.id }}" class="{{ data.className }} notice <# if ( data.errors ) { #>notice-error<# } else { #>notice-success<# } #>">
Index: src/wp-admin/js/updates.js
===================================================================
--- src/wp-admin/js/updates.js	(revision 38204)
+++ src/wp-admin/js/updates.js	(working copy)
@@ -1562,8 +1562,12 @@
 			return true;
 		}
 
-		if ( _.isString( response ) ) {
+		if ( _.isString( response ) && '-1' === response ) {
+			error = wp.updates.l10n.nonceError;
+		} else if ( _.isString( response ) ) {
 			error = response;
+		} else if ( 'undefined' !== typeof response.readyState && 0 === response.readyState ) {
+			error = wp.updates.l10n.connectionError;
 		} else if ( _.isString( response.responseText ) && '' !== response.responseText ) {
 			error = response.responseText;
 		} else if ( _.isString( response.statusText ) ) {
Index: src/wp-includes/script-loader.php
===================================================================
--- src/wp-includes/script-loader.php	(revision 38204)
+++ src/wp-includes/script-loader.php	(working copy)
@@ -677,6 +677,8 @@
 				/* translators: %s: Importer name */
 				'activateImporterLabel'      => __( 'Run %s' ),
 				'unknownError'               => __( 'An unknown error occurred' ),
+				'connectionError'            => __( 'Connection lost or the server is busy. Please try again later.' ),
+				'nonceError'                 => __( 'An error has occurred. Please reload the page and try again.' ),
 				'pluginsFound'               => __( 'Number of plugins found: %d' ),
 				'noPluginsFound'             => __( 'No plugins found. Try a different search.' ),
 			),
Index: tests/qunit/fixtures/updates.js
===================================================================
--- tests/qunit/fixtures/updates.js	(revision 38204)
+++ tests/qunit/fixtures/updates.js	(working copy)
@@ -46,6 +46,8 @@
 		'activateThemeLabel':  'Activate %s',
 		'activateImporter': 'Run Importer',
 		'unknownError': 'An unknown error occurred',
+		'connectionError': 'Connection lost or the server is busy. Please try again later.',
+		'nonceError': 'An error has occurred. Please reload the page and try again.',
 		'pluginsFound': 'Number of plugins found: %d',
 		'noPluginsFound': 'No plugins found. Try a different search.'
 	}
