diff --git a/src/features/instantiate/InstantiationContext.tsx b/src/features/instantiate/InstantiationContext.tsx index c3b8e1d56f..e499702be3 100644 --- a/src/features/instantiate/InstantiationContext.tsx +++ b/src/features/instantiate/InstantiationContext.tsx @@ -89,13 +89,16 @@ export function InstantiationProvider({ children }: React.PropsWithChildren) { setBusyWithId(undefined); isInstantiatingRef.current = false; } - }, [instantiate.data?.id, instantiateWithPrefill.data?.id]); + if (instantiate.error || instantiateWithPrefill.error) { + isInstantiatingRef.current = false; + } + }, [instantiate.data?.id, instantiateWithPrefill.data?.id, instantiate.error, instantiateWithPrefill.error]); return ( { - if (instantiate.data || instantiate.isPending || instantiate.error || isInstantiatingRef.current) { + if (instantiate.data || instantiate.isPending || isInstantiatingRef.current) { return; } isInstantiatingRef.current = true; @@ -103,7 +106,7 @@ export function InstantiationProvider({ children }: React.PropsWithChildren) { instantiate.mutate(instanceOwnerPartyId); }, instantiateWithPrefill: (node, value) => { - if (instantiateWithPrefill.data || instantiateWithPrefill.isPending || instantiateWithPrefill.error) { + if (instantiateWithPrefill.data || instantiateWithPrefill.isPending || isInstantiatingRef.current) { return; } isInstantiatingRef.current = true;