diff --git a/packages/go_router/CHANGELOG.md b/packages/go_router/CHANGELOG.md
index 186fabb..146368b 100644
--- a/packages/go_router/CHANGELOG.md
+++ b/packages/go_router/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 5.1.6
+
+- Fixes crashes when multiple `GoRoute`s use the same `parentNavigatorKey` in a route subtree.
+
 ## 5.1.5
 
 - Adds migration guide for 5.1.2 to readme.
diff --git a/packages/go_router/lib/src/configuration.dart b/packages/go_router/lib/src/configuration.dart
index fa7261b..8f97a7c 100644
--- a/packages/go_router/lib/src/configuration.dart
+++ b/packages/go_router/lib/src/configuration.dart
@@ -60,9 +60,9 @@
               checkParentNavigatorKeys(
                 route.routes,
                 <GlobalKey<NavigatorState>>[
-                  // Once a parentNavigatorKey is used, only the navigator keys
-                  // above it can be used.
-                  ...allowedKeys.sublist(0, allowedKeys.indexOf(parentKey)),
+                  // Once a parentNavigatorKey is used, only that navigator key
+                  // or keys above it can be used.
+                  ...allowedKeys.sublist(0, allowedKeys.indexOf(parentKey) + 1),
                 ],
               );
             } else {
diff --git a/packages/go_router/pubspec.yaml b/packages/go_router/pubspec.yaml
index 3973a2a..94df1c9 100644
--- a/packages/go_router/pubspec.yaml
+++ b/packages/go_router/pubspec.yaml
@@ -1,7 +1,7 @@
 name: go_router
 description: A declarative router for Flutter based on Navigation 2 supporting
   deep linking, data-driven routes and more
-version: 5.1.5
+version: 5.1.6
 repository: https://github.com/flutter/packages/tree/main/packages/go_router
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+go_router%22
 
diff --git a/packages/go_router/test/configuration_test.dart b/packages/go_router/test/configuration_test.dart
index 61f769f..3536531 100644
--- a/packages/go_router/test/configuration_test.dart
+++ b/packages/go_router/test/configuration_test.dart
@@ -176,6 +176,55 @@
     );
 
     test(
+      'Does not throw with multiple nested GoRoutes using parentNavigatorKey in ShellRoute',
+      () {
+        final GlobalKey<NavigatorState> root =
+            GlobalKey<NavigatorState>(debugLabel: 'root');
+        final GlobalKey<NavigatorState> shell =
+            GlobalKey<NavigatorState>(debugLabel: 'shell');
+        RouteConfiguration(
+          navigatorKey: root,
+          routes: <RouteBase>[
+            ShellRoute(
+              navigatorKey: shell,
+              routes: <RouteBase>[
+                GoRoute(
+                  path: '/',
+                  builder: _mockScreenBuilder,
+                  routes: <RouteBase>[
+                    GoRoute(
+                      path: 'a',
+                      builder: _mockScreenBuilder,
+                      parentNavigatorKey: root,
+                      routes: <RouteBase>[
+                        GoRoute(
+                          path: 'b',
+                          builder: _mockScreenBuilder,
+                          parentNavigatorKey: root,
+                          routes: <RouteBase>[
+                            GoRoute(
+                              path: 'c',
+                              builder: _mockScreenBuilder,
+                              parentNavigatorKey: root,
+                            ),
+                          ],
+                        ),
+                      ],
+                    ),
+                  ],
+                ),
+              ],
+            ),
+          ],
+          redirectLimit: 10,
+          topRedirect: (BuildContext context, GoRouterState state) {
+            return null;
+          },
+        );
+      },
+    );
+
+    test(
       'Throws when parentNavigatorKeys are overlapping',
       () {
         final GlobalKey<NavigatorState> root =
@@ -369,78 +418,50 @@
         navigatorKey: root,
       );
     });
-  });
 
-  test(
-    'Does not throw with valid parentNavigatorKey configuration',
-    () {
-      final GlobalKey<NavigatorState> root =
-          GlobalKey<NavigatorState>(debugLabel: 'root');
-      final GlobalKey<NavigatorState> shell =
-          GlobalKey<NavigatorState>(debugLabel: 'shell');
-      final GlobalKey<NavigatorState> shell2 =
-          GlobalKey<NavigatorState>(debugLabel: 'shell2');
-      RouteConfiguration(
-        navigatorKey: root,
-        routes: <RouteBase>[
-          ShellRoute(
-            navigatorKey: shell,
-            routes: <RouteBase>[
-              GoRoute(
-                path: '/',
-                builder: _mockScreenBuilder,
-                routes: <RouteBase>[
-                  GoRoute(
-                    path: 'a',
-                    builder: _mockScreenBuilder,
-                    parentNavigatorKey: root,
-                    routes: <RouteBase>[
-                      ShellRoute(
-                        navigatorKey: shell2,
-                        routes: <RouteBase>[
-                          GoRoute(
-                            path: 'b',
-                            builder: _mockScreenBuilder,
-                            routes: <RouteBase>[
-                              GoRoute(
-                                path: 'b',
-                                builder: _mockScreenBuilder,
-                                parentNavigatorKey: shell2,
-                              ),
-                            ],
-                          ),
-                        ],
-                      ),
-                    ],
-                  ),
-                ],
-              ),
-            ],
-          ),
-        ],
-        redirectLimit: 10,
-        topRedirect: (BuildContext context, GoRouterState state) {
-          return null;
-        },
-      );
-    },
-  );
-
-  test('throws when ShellRoute contains a GoRoute with a parentNavigatorKey',
+    test(
+      'Does not throw with valid parentNavigatorKey configuration',
       () {
-    final GlobalKey<NavigatorState> root =
-        GlobalKey<NavigatorState>(debugLabel: 'root');
-    expect(
-      () {
+        final GlobalKey<NavigatorState> root =
+            GlobalKey<NavigatorState>(debugLabel: 'root');
+        final GlobalKey<NavigatorState> shell =
+            GlobalKey<NavigatorState>(debugLabel: 'shell');
+        final GlobalKey<NavigatorState> shell2 =
+            GlobalKey<NavigatorState>(debugLabel: 'shell2');
         RouteConfiguration(
           navigatorKey: root,
           routes: <RouteBase>[
             ShellRoute(
+              navigatorKey: shell,
               routes: <RouteBase>[
                 GoRoute(
-                  path: '/a',
+                  path: '/',
                   builder: _mockScreenBuilder,
-                  parentNavigatorKey: root,
+                  routes: <RouteBase>[
+                    GoRoute(
+                      path: 'a',
+                      builder: _mockScreenBuilder,
+                      parentNavigatorKey: root,
+                      routes: <RouteBase>[
+                        ShellRoute(
+                          navigatorKey: shell2,
+                          routes: <RouteBase>[
+                            GoRoute(
+                              path: 'b',
+                              builder: _mockScreenBuilder,
+                              routes: <RouteBase>[
+                                GoRoute(
+                                  path: 'b',
+                                  builder: _mockScreenBuilder,
+                                  parentNavigatorKey: shell2,
+                                ),
+                              ],
+                            ),
+                          ],
+                        ),
+                      ],
+                    ),
+                  ],
                 ),
               ],
             ),
@@ -451,8 +472,36 @@
           },
         );
       },
-      throwsAssertionError,
     );
+
+    test('throws when ShellRoute contains a GoRoute with a parentNavigatorKey',
+        () {
+      final GlobalKey<NavigatorState> root =
+          GlobalKey<NavigatorState>(debugLabel: 'root');
+      expect(
+        () {
+          RouteConfiguration(
+            navigatorKey: root,
+            routes: <RouteBase>[
+              ShellRoute(
+                routes: <RouteBase>[
+                  GoRoute(
+                    path: '/a',
+                    builder: _mockScreenBuilder,
+                    parentNavigatorKey: root,
+                  ),
+                ],
+              ),
+            ],
+            redirectLimit: 10,
+            topRedirect: (BuildContext context, GoRouterState state) {
+              return null;
+            },
+          );
+        },
+        throwsAssertionError,
+      );
+    });
   });
 }
 
