diff --git a/ivette/src/frama-c/states.ts b/ivette/src/frama-c/states.ts
index 5b1f79c9a49aec5ae5d2531a9f7649eb9376a130..e989c2e1bfe7a8864ad9a6b0faf0d6f66bc72a64 100644
--- a/ivette/src/frama-c/states.ts
+++ b/ivette/src/frama-c/states.ts
@@ -320,7 +320,7 @@ export function useServerField<A>(
   const update = React.useCallback((newValue: A, newError: FieldError) => {
     setLocal(newValue);
     setError(newError);
-    if (!newError) {
+    if (!isValid(newError)) {
       setState(newValue);
     }
   }, [setState]);