diff --git a/src/wp-includes/block-template.php b/src/wp-includes/block-template.php
index de266c04f2..7bea75dca4 100644
--- a/src/wp-includes/block-template.php
+++ b/src/wp-includes/block-template.php
@@ -48,6 +48,10 @@ function _add_template_loader_filters() {
 function locate_block_template( $template, $type, array $templates ) {
 	global $_wp_current_template_content;
 
+	if ( ! current_theme_supports( 'block-templates' ) ) {
+		return $template;
+	}
+
 	if ( $template ) {
 		/*
 		 * locate_template() has found a PHP template at the path specified by $template.
diff --git a/tests/phpunit/tests/block-template.php b/tests/phpunit/tests/block-template.php
index 95dab825b9..7163fea70a 100644
--- a/tests/phpunit/tests/block-template.php
+++ b/tests/phpunit/tests/block-template.php
@@ -18,6 +18,7 @@ class Tests_Block_Template extends WP_UnitTestCase {
 	public function set_up() {
 		parent::set_up();
 		switch_theme( 'block-theme' );
+		do_action( 'setup_theme' );
 	}
 
 	public function tear_down() {