diff --git a/.changeset/shy-numbers-try.md b/.changeset/shy-numbers-try.md
new file mode 100644
index 0000000000..a0af1bf12b
--- /dev/null
+++ b/.changeset/shy-numbers-try.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-react': minor
+---
+
+`scaffolder/next`: Don't render `TemplateGroups` when there's no results in with search query
diff --git a/plugins/scaffolder-react/alpha-api-report.md b/plugins/scaffolder-react/alpha-api-report.md
index 319e3963f0..6c22a5caa9 100644
--- a/plugins/scaffolder-react/alpha-api-report.md
+++ b/plugins/scaffolder-react/alpha-api-report.md
@@ -206,7 +206,7 @@ export interface TemplateCardProps {
export const TemplateCategoryPicker: () => JSX.Element | null;
// @alpha
-export const TemplateGroup: (props: TemplateGroupProps) => JSX.Element;
+export const TemplateGroup: (props: TemplateGroupProps) => JSX.Element | null;
// @alpha (undocumented)
export type TemplateGroupFilter = {
diff --git a/plugins/scaffolder-react/src/next/components/TemplateGroup/TemplateGroup.test.tsx b/plugins/scaffolder-react/src/next/components/TemplateGroup/TemplateGroup.test.tsx
index 02756839c9..8d8ae718dc 100644
--- a/plugins/scaffolder-react/src/next/components/TemplateGroup/TemplateGroup.test.tsx
+++ b/plugins/scaffolder-react/src/next/components/TemplateGroup/TemplateGroup.test.tsx
@@ -22,16 +22,6 @@ import { TemplateCard } from '../TemplateCard';
import { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common';
describe('TemplateGroup', () => {
- it('should return a message when no templates are passed in', async () => {
- const { getByText } = render(
-
Im a custom header
; + const mockTemplates: { template: TemplateEntityV1beta3 }[] = [ + { + template: { + apiVersion: 'scaffolder.backstage.io/v1beta3', + kind: 'Template', + metadata: { name: 'test' }, + spec: { parameters: [], steps: [], type: 'website' }, + }, + }, + ]; const { getByText } = render(