diff --git src/wp-includes/post.php src/wp-includes/post.php
index f15c9e2..912a03c 100644
--- src/wp-includes/post.php
+++ src/wp-includes/post.php
@@ -3455,6 +3455,7 @@ function wp_insert_post( $postarr, $wp_error = false ) {
 	if ( empty( $data['post_name'] ) && ! in_array( $data['post_status'], array( 'draft', 'pending', 'auto-draft' ) ) ) {
 		$data['post_name'] = wp_unique_post_slug( sanitize_title( $data['post_title'], $post_ID ), $post_ID, $data['post_status'], $post_type, $post_parent );
 		$wpdb->update( $wpdb->posts, array( 'post_name' => $data['post_name'] ), $where );
+		clean_post_cache( $post_ID );
 	}
 
 	if ( is_object_in_taxonomy( $post_type, 'category' ) ) {
diff --git tests/phpunit/tests/post.php tests/phpunit/tests/post.php
index 22310c0..d51b546 100644
--- tests/phpunit/tests/post.php
+++ tests/phpunit/tests/post.php
@@ -435,6 +435,24 @@ class Tests_Post extends WP_UnitTestCase {
 	}
 
 	/**
+	 * @ticket 5305
+	 * @ticket 33392
+	 */
+	public function test_wp_insert_post_should_invalidate_post_cache_before_generating_guid_when_post_name_is_empty_and_is_generated_from_the_post_ID(){
+		register_post_type( 'wptests_pt' );
+
+		$p = wp_insert_post( array(
+			'post_title' => '',
+			'post_type' => 'wptests_pt',
+			'post_status' => 'publish',
+		) );
+
+		$post = get_post( $p );
+
+		$this->assertContains( 'wptests_pt=' . $p, $post->guid );
+	}
+
+	/**
 	 * @ticket 5364
 	 */
 	function test_delete_future_post_cron() {
