diff --git src/wp-admin/includes/ajax-actions.php src/wp-admin/includes/ajax-actions.php
index 029e20e62b..634713b195 100644
--- src/wp-admin/includes/ajax-actions.php
+++ src/wp-admin/includes/ajax-actions.php
@@ -319,11 +319,11 @@ function wp_ajax_get_community_events() {
 		) );
 	} else {
 		if ( isset( $events['location'] ) ) {
-			// Send only the data that the client will use.
-			$events['location'] = $events['location']['description'];
-
 			// Store the location network-wide, so the user doesn't have to set it on each site.
 			update_user_option( $user_id, 'community-events-location', $events['location'], true );
+
+			// Send only the data that the client will use.
+			$events['location'] = $events['location']['description'];
 		}
 
 		wp_send_json_success( $events );
diff --git src/wp-admin/includes/dashboard.php src/wp-admin/includes/dashboard.php
index b25426e753..f3de00e32b 100644
--- src/wp-admin/includes/dashboard.php
+++ src/wp-admin/includes/dashboard.php
@@ -142,10 +142,14 @@ function wp_get_community_events_script_data() {
 	$user_id       = get_current_user_id();
 	$user_location = get_user_option( 'community-events-location', $user_id );
 	$events_client = new WP_Community_Events( $user_id, $user_location );
+	$cached_data   = $events_client->get_cached_events();
+
+	// Send only the data that the client will use.
+	$cached_data['location'] = $cached_data['location']['description'];
 
 	$script_data = array(
 		'nonce' => wp_create_nonce( 'community_events' ),
-		'cache' => $events_client->get_cached_events(),
+		'cache' => $cached_data,
 
 		'l10n' => array(
 			'enter_closest_city' => __( 'Enter your closest city to find nearby events.' ),
