diff --git a/packages/router/src/utils/view_transition.ts b/packages/router/src/utils/view_transition.ts
index ebf05f53e8f82..aad8fbd7c03f7 100644
--- a/packages/router/src/utils/view_transition.ts
+++ b/packages/router/src/utils/view_transition.ts
@@ -8,6 +8,7 @@
///
+import {DOCUMENT} from '@angular/common';
import {afterNextRender, InjectionToken, Injector, NgZone} from '@angular/core';
export const CREATE_VIEW_TRANSITION =
@@ -22,6 +23,7 @@ export const CREATE_VIEW_TRANSITION =
export function createViewTransition(injector: Injector): Promise {
// Create promises outside the Angular zone to avoid causing extra change detections
return injector.get(NgZone).runOutsideAngular(() => {
+ const document = injector.get(DOCUMENT);
if (!document.startViewTransition) {
return Promise.resolve();
}