diff --git a/src/wp-includes/class-wp-theme.php b/src/wp-includes/class-wp-theme.php
index 9fa101906a..8721abd143 100644
--- a/src/wp-includes/class-wp-theme.php
+++ b/src/wp-includes/class-wp-theme.php
@@ -1483,7 +1483,10 @@ final class WP_Theme implements ArrayAccess {
 
 		foreach ( $paths_to_index_block_template as $path_to_index_block_template ) {
 			if ( is_file( $path_to_index_block_template ) && is_readable( $path_to_index_block_template ) ) {
-				return true;
+				$content = file_get_contents( $path_to_index_block_template );
+				if ( $content && ! empty( parse_blocks( $content ) ) ) {
+					return true;
+				}
 			}
 		}
 
diff --git a/src/wp-includes/template.php b/src/wp-includes/template.php
index 891e77748d..4d43d69237 100644
--- a/src/wp-includes/template.php
+++ b/src/wp-includes/template.php
@@ -63,7 +63,9 @@ function get_query_template( $type, $templates = array() ) {
 
 	$template = locate_template( $templates );
 
-	$template = locate_block_template( $template, $type, $templates );
+	if ( wp_is_block_theme() ) {
+		$template = locate_block_template( $template, $type, $templates );
+	}
 
 	/**
 	 * Filters the path of the queried template by type.
