diff --git a/src/wp-includes/blocks.php b/src/wp-includes/blocks.php
index e8647bf526..e22c72d220 100644
--- a/src/wp-includes/blocks.php
+++ b/src/wp-includes/blocks.php
@@ -260,7 +260,7 @@ function render_block( $block ) {
 
 	if ( $is_dynamic ) {
 		$global_post   = $post;
-		$block_content = $block_type->render( $block['attrs'], $block_content );
+		$block_content = $block_type->render( $block['attrs'], $block_content, $block );
 		$post          = $global_post;
 	}
 
diff --git a/src/wp-includes/class-wp-block-type.php b/src/wp-includes/class-wp-block-type.php
index 6ffda95b4e..bdd5ff476c 100644
--- a/src/wp-includes/class-wp-block-type.php
+++ b/src/wp-includes/class-wp-block-type.php
@@ -97,16 +97,17 @@ public function __construct( $block_type, $args = array() ) {
 	 *
 	 * @param array  $attributes Optional. Block attributes. Default empty array.
 	 * @param string $content    Optional. Block content. Default empty string.
+	 * @param string $block      Optional. The block object. Default null.
 	 * @return string Rendered block type output.
 	 */
-	public function render( $attributes = array(), $content = '' ) {
+	public function render( $attributes = array(), $content = '', $block = null ) {
 		if ( ! $this->is_dynamic() ) {
 			return '';
 		}
 
 		$attributes = $this->prepare_attributes_for_render( $attributes );
 
-		return (string) call_user_func( $this->render_callback, $attributes, $content );
+		return (string) call_user_func( $this->render_callback, $attributes, $content, $block );
 	}
 
 	/**
