diff --git a/src/wp-admin/update-core.php b/src/wp-admin/update-core.php
index 087d314fc6..9a5c41e37d 100644
--- a/src/wp-admin/update-core.php
+++ b/src/wp-admin/update-core.php
@@ -37,6 +37,10 @@ function list_core_update( $update ) {
 	global $wp_local_package, $wpdb;
 	static $first_pass = true;
 
+	if ( ! is_object( $update ) ) {
+		return;
+	}
+
 	$wp_version     = get_bloginfo( 'version' );
 	$version_string = sprintf( '%s&ndash;%s', $update->current, get_locale() );
 
@@ -275,13 +279,15 @@ function core_upgrade_preamble() {
 		echo '<h2 class="response">' . __( 'You have the latest version of WordPress.' ) . '</h2>';
 	}
 
-	echo '<ul class="core-updates">';
-	foreach ( (array) $updates as $update ) {
-		echo '<li>';
-		list_core_update( $update );
-		echo '</li>';
+	if ( $updates ) {
+		echo '<ul class="core-updates">';
+		foreach ( (array) $updates as $update ) {
+			echo '<li>';
+			list_core_update( $update );
+			echo '</li>';
+		}
+		echo '</ul>';
 	}
-	echo '</ul>';
 
 	// Don't show the maintenance mode notice when we are only showing a single re-install option.
 	if ( $updates && ( count( $updates ) > 1 || 'latest' !== $updates[0]->response ) ) {
