diff --git a/src/client/init.ts b/src/client/init.ts
index ef2cf9a49..6cd7734fd 100644
--- a/src/client/init.ts
+++ b/src/client/init.ts
@@ -54,6 +54,8 @@ if (localStorage.getItem('kyoppie') === 'yuppie') {
 	location.reload(true);
 }
 
+window.history.scrollRestoration = 'manual';
+
 if (localStorage.getItem('theme') == null) {
 	applyTheme(lightTheme);
 }
diff --git a/src/client/router.ts b/src/client/router.ts
index 1f0dac3a4..816f72595 100644
--- a/src/client/router.ts
+++ b/src/client/router.ts
@@ -52,10 +52,13 @@ export const router = new VueRouter({
 	],
 	// なんかバギー
 	scrollBehavior(to, from, savedPosition) {
-		if (savedPosition) {
-			return savedPosition;
-		} else {
-			return { x: 0, y: 0 };
-		}
+		setTimeout(() => {
+			if (savedPosition) {
+				window.scroll({ top: savedPosition.y, behavior: 'instant' });
+			} else {
+				window.scroll({ top: 0, behavior: 'instant' });
+			}
+		}, 1000);
+		return;
 	}
 });