diff --git a/package-lock.json b/package-lock.json
index 358eaa3..3146b0e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1108,9 +1108,9 @@
       }
     },
     "node_modules/@eslint-community/regexpp": {
-      "version": "4.11.0",
-      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
-      "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
+      "version": "4.11.1",
+      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz",
+      "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==",
       "dev": true,
       "license": "MIT",
       "engines": {
diff --git a/src/components/zone/Zone.vue b/src/components/zone/Zone.vue
index 6a5bf4f..3ee9b18 100644
--- a/src/components/zone/Zone.vue
+++ b/src/components/zone/Zone.vue
@@ -59,6 +59,7 @@ watch(
 onBeforeMount(() => {})
 
 onBeforeUnmount(() => {
+  zoneStore.reset()
   gameStore.connection?.off('zone:teleport')
   gameStore.connection?.off('zone:character:join')
   gameStore.connection?.off('zone:character:leave')
diff --git a/src/stores/zoneEditor.ts b/src/stores/zoneEditor.ts
index bb7b5fb..a26e0b5 100644
--- a/src/stores/zoneEditor.ts
+++ b/src/stores/zoneEditor.ts
@@ -8,8 +8,6 @@ type TeleportSettings = {
   toPositionY: number
 }
 
-const gameStore = useGameStore()
-
 export const useZoneEditorStore = defineStore('zoneEditor', {
   state: () => ({
     active: false,
@@ -43,6 +41,7 @@ export const useZoneEditorStore = defineStore('zoneEditor', {
   }),
   actions: {
     toggleActive() {
+      const gameStore = useGameStore()
       if (!this.active) gameStore.connection?.emit('zone:character:leave')
       if (this.active) this.reset()
       this.active = !this.active