diff --git a/src/ui/GameRoot.tsx b/src/ui/GameRoot.tsx
index dd5633e3c..3211a2b9f 100644
--- a/src/ui/GameRoot.tsx
+++ b/src/ui/GameRoot.tsx
@@ -1,5 +1,5 @@
 import React, { useState, useEffect } from "react";
-import { cloneDeep } from "lodash";
+import { cloneDeep, isEqual } from "lodash";
 import { IPlayer } from "../PersonObjects/IPlayer";
 import { IEngine } from "../IEngine";
 import { ITerminal } from "../Terminal/ITerminal";
@@ -251,11 +251,16 @@ export function GameRoot({ player, engine, terminal }: IProps): React.ReactEleme
   }
 
   function setCurrentPage(page: Page, ...args: any): void {
-    const history = [
-        { page, args: cloneDeep(args) },
+    const newPage = { page, args: cloneDeep(args) };
+    const previousPage = pageHistory[0];
+    const isDifferentThenPrevious = page !== previousPage?.page || !isEqual([...args], previousPage?.args);
+    if (isDifferentThenPrevious) {
+      const history = [
+        newPage,
         ...pageHistory
       ].slice(0, 20);
-    setPageHistory(history)
+      setPageHistory(history)
+    }
     setPage(page)
   }