diff --git a/src/router.js b/src/router.js
index <HASH>..<HASH> 100644
--- a/src/router.js
+++ b/src/router.js
@@ -86,7 +86,7 @@ class Router {
 
     if (fromCtx && fromCtx.pathname === pathname && !args.force) {
       if (this.$child) {
-        return await this.$child.update(childPath, args)
+        return await this.$child.update(childPath + search + hash, args)
       } else {
         return false
       }
query and hash in child routes being wiped out on popstate