diff --git a/packages/flutter/lib/src/widgets/navigator.dart b/packages/flutter/lib/src/widgets/navigator.dart
index fb7ccc5da2f..54dbc2b6c1d 100644
--- a/packages/flutter/lib/src/widgets/navigator.dart
+++ b/packages/flutter/lib/src/widgets/navigator.dart
@@ -5615,7 +5615,9 @@ class NavigatorState extends State<Navigator> with TickerProviderStateMixin, Res
       _debugLocked = false;
       return true;
     }());
-    _afterNavigation(entry.route);
+    if (entry.currentState == _RouteLifecycle.popping) {
+      _afterNavigation(entry.route);
+    }
   }
 
   /// Calls [pop] repeatedly until the predicate returns true.
