diff --git a/packages/react-dom/src/__tests__/ReactDOMFiberAsync-test.internal.js b/packages/react-dom/src/__tests__/ReactDOMFiberAsync-test.internal.js
index c3e83a5795400..68e9ae3e722f7 100644
--- a/packages/react-dom/src/__tests__/ReactDOMFiberAsync-test.internal.js
+++ b/packages/react-dom/src/__tests__/ReactDOMFiberAsync-test.internal.js
@@ -710,5 +710,36 @@ describe('ReactDOMFiberAsync', () => {
// everything without yielding when the flag is on.
expect(Scheduler).toHaveYielded(['A', 'B', 'C']);
});
+
+ it('wont suspend during a render if yielding is disabled', () => {
+ let p = new Promise(resolve => {});
+
+ function Suspend() {
+ throw p;
+ }
+
+ let root = ReactDOM.unstable_createRoot(container);
+ root.render(
+
+ Initial
+ ,
+ );
+
+ Scheduler.flushAll();
+ expect(container.textContent).toBe('Initial');
+
+ root.render(
+
+
+ ,
+ );
+
+ expect(Scheduler).toHaveYielded([]);
+
+ Scheduler.flushAll();
+
+ // This should have flushed to the DOM even though we haven't ran the timers.
+ expect(container.textContent).toBe('Loading');
+ });
});
});