diff --git a/packages/react-dom/src/__tests__/ReactDOMServerIntegrationNewContext-test.js b/packages/react-dom/src/__tests__/ReactDOMServerIntegrationNewContext-test.js
index 5f941da8f9a9f..3fa8282836527 100644
--- a/packages/react-dom/src/__tests__/ReactDOMServerIntegrationNewContext-test.js
+++ b/packages/react-dom/src/__tests__/ReactDOMServerIntegrationNewContext-test.js
@@ -348,6 +348,32 @@ describe('ReactDOMServerIntegration', () => {
await render(, 1);
},
);
+ itRenders(
+ 'does not pollute the default value when a component throws',
+ async render => {
+ const message = 'from a component';
+ const Throw = () => {
+ throw new Error(message);
+ };
+ const Theme = React.createContext('dark');
+
+ try {
+ await render(
+
+
+ ,
+ );
+ } catch (err) {
+ if (err.message !== message) {
+ throw err;
+ }
+ }
+ expect(
+ (await render({theme => theme}))
+ .textContent,
+ ).toBe('dark');
+ },
+ );
it('does not pollute parallel node streams', () => {
const LoggedInUser = React.createContext();