diff --git a/packages/svelte-query/tests/createQuery/IsRestoringExample.svelte b/packages/svelte-query/tests/createQuery/IsRestoringExample.svelte
new file mode 100644
index 0000000000..679a1ff1a7
--- /dev/null
+++ b/packages/svelte-query/tests/createQuery/IsRestoringExample.svelte
@@ -0,0 +1,29 @@
+
+
+
+
{query.status}
+
{query.fetchStatus}
+
{query.data ?? 'undefined'}
+
diff --git a/packages/svelte-query/tests/createQuery/createQuery.svelte.test.ts b/packages/svelte-query/tests/createQuery/createQuery.svelte.test.ts
new file mode 100644
index 0000000000..540cf29404
--- /dev/null
+++ b/packages/svelte-query/tests/createQuery/createQuery.svelte.test.ts
@@ -0,0 +1,36 @@
+import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
+import { render } from '@testing-library/svelte'
+import { sleep } from '@tanstack/query-test-utils'
+import IsRestoringExample from './IsRestoringExample.svelte'
+
+describe('createQuery', () => {
+ beforeEach(() => {
+ vi.useFakeTimers()
+ })
+
+ afterEach(() => {
+ vi.useRealTimers()
+ })
+
+ it('should not fetch for the duration of the restoring period when isRestoring is true', async () => {
+ const queryFn = vi.fn(() => sleep(10).then(() => 'data'))
+
+ const rendered = render(IsRestoringExample, {
+ props: { queryFn },
+ })
+
+ await vi.advanceTimersByTimeAsync(0)
+
+ expect(rendered.getByTestId('status')).toHaveTextContent('pending')
+ expect(rendered.getByTestId('fetchStatus')).toHaveTextContent('idle')
+ expect(rendered.getByTestId('data')).toHaveTextContent('undefined')
+ expect(queryFn).toHaveBeenCalledTimes(0)
+
+ await vi.advanceTimersByTimeAsync(11)
+
+ expect(rendered.getByTestId('status')).toHaveTextContent('pending')
+ expect(rendered.getByTestId('fetchStatus')).toHaveTextContent('idle')
+ expect(rendered.getByTestId('data')).toHaveTextContent('undefined')
+ expect(queryFn).toHaveBeenCalledTimes(0)
+ })
+})