diff --git a/addons/web/static/src/core/utils/render.js b/addons/web/static/src/core/utils/render.js
index e15b50643c2..ef50087d4cf 100644
--- a/addons/web/static/src/core/utils/render.js
+++ b/addons/web/static/src/core/utils/render.js
@@ -3,7 +3,7 @@
import { blockDom, markup } from "@odoo/owl";
export function renderToElement(template, context = {}) {
- return render(template, context).firstChild;
+ return render(template, context).firstElementChild;
}
/**
diff --git a/addons/web/static/tests/core/utils/render_tests.js b/addons/web/static/tests/core/utils/render_tests.js
new file mode 100644
index 00000000000..a8d745ff557
--- /dev/null
+++ b/addons/web/static/tests/core/utils/render_tests.js
@@ -0,0 +1,26 @@
+/** @odoo-module **/
+
+import { renderToElement, renderToString } from "@web/core/utils/render";
+
+QUnit.module("utils", () => {
+ QUnit.module("render");
+
+ QUnit.test("renderToElement always returns an element", (assert) => {
+ renderToString.app.addTemplate(
+ "test.render.template.1",
+ `