diff --git a/.changeset/seven-brooms-trade.md b/.changeset/seven-brooms-trade.md
new file mode 100644
index 000000000000..124df8d06023
--- /dev/null
+++ b/.changeset/seven-brooms-trade.md
@@ -0,0 +1,5 @@
+---
+'@astrojs/vue': patch
+---
+
+Fix Vue component HMR when updating the script tag
diff --git a/packages/astro/e2e/fixtures/vue-component/src/components/State.vue b/packages/astro/e2e/fixtures/vue-component/src/components/State.vue
new file mode 100644
index 000000000000..920cb4594265
--- /dev/null
+++ b/packages/astro/e2e/fixtures/vue-component/src/components/State.vue
@@ -0,0 +1,9 @@
+
+
+
+ Count is {{ count }}
+
diff --git a/packages/astro/e2e/fixtures/vue-component/src/pages/index.astro b/packages/astro/e2e/fixtures/vue-component/src/pages/index.astro
index 5ea9823b6376..fb10e60382d8 100644
--- a/packages/astro/e2e/fixtures/vue-component/src/pages/index.astro
+++ b/packages/astro/e2e/fixtures/vue-component/src/pages/index.astro
@@ -2,6 +2,7 @@
import Counter from '../components/Counter.vue';
import VueComponent from '../components/VueComponent.vue';
import AsyncTest from '../components/Test.vue'
+import State from '../components/State.vue'
const someProps = {
count: 0,
@@ -35,5 +36,6 @@ const someProps = {
+