diff --git a/release/c/wuffs-unsupported-snapshot.c b/release/c/wuffs-unsupported-snapshot.c
index 1cb3e28..251be3b 100644
--- a/release/c/wuffs-unsupported-snapshot.c
+++ b/release/c/wuffs-unsupported-snapshot.c
@@ -8748,18 +8748,20 @@
     return wuffs_base__make_empty_struct();
   }
 
-  if (a_quirk == 1041635328) {
-    self->private_impl.f_quirk_enabled_delay_num_decoded_frames = a_enabled;
-  } else if (a_quirk == 1041635329) {
-    self->private_impl.f_quirk_enabled_ignore_too_much_pixel_data = a_enabled;
-  } else if (a_quirk == 1041635330) {
-    self->private_impl.f_quirk_enabled_image_bounds_are_strict = a_enabled;
-  } else if (a_quirk == 1041635331) {
-    self->private_impl.f_quirk_enabled_background_is_opaque = a_enabled;
-  } else if (a_quirk == 1041635333) {
-    self->private_impl.f_quirk_enabled_reject_empty_frame = a_enabled;
-  } else if (a_quirk == 1041635332) {
-    self->private_impl.f_quirk_enabled_reject_empty_palette = a_enabled;
+  if (self->private_impl.f_call_sequence == 0) {
+    if (a_quirk == 1041635328) {
+      self->private_impl.f_quirk_enabled_delay_num_decoded_frames = a_enabled;
+    } else if (a_quirk == 1041635329) {
+      self->private_impl.f_quirk_enabled_ignore_too_much_pixel_data = a_enabled;
+    } else if (a_quirk == 1041635330) {
+      self->private_impl.f_quirk_enabled_image_bounds_are_strict = a_enabled;
+    } else if (a_quirk == 1041635331) {
+      self->private_impl.f_quirk_enabled_background_is_opaque = a_enabled;
+    } else if (a_quirk == 1041635333) {
+      self->private_impl.f_quirk_enabled_reject_empty_frame = a_enabled;
+    } else if (a_quirk == 1041635332) {
+      self->private_impl.f_quirk_enabled_reject_empty_palette = a_enabled;
+    }
   }
   return wuffs_base__make_empty_struct();
 }
diff --git a/std/gif/decode_gif.wuffs b/std/gif/decode_gif.wuffs
index 76c94fa..920d714 100644
--- a/std/gif/decode_gif.wuffs
+++ b/std/gif/decode_gif.wuffs
@@ -236,18 +236,20 @@
 )
 
 pub func decoder.set_quirk_enabled!(quirk base.u32, enabled base.bool) {
-	if args.quirk == quirk_delay_num_decoded_frames {
-		this.quirk_enabled_delay_num_decoded_frames = args.enabled
-	} else if args.quirk == quirk_ignore_too_much_pixel_data {
-		this.quirk_enabled_ignore_too_much_pixel_data = args.enabled
-	} else if args.quirk == quirk_image_bounds_are_strict {
-		this.quirk_enabled_image_bounds_are_strict = args.enabled
-	} else if args.quirk == quirk_background_is_opaque {
-		this.quirk_enabled_background_is_opaque = args.enabled
-	} else if args.quirk == quirk_reject_empty_frame {
-		this.quirk_enabled_reject_empty_frame = args.enabled
-	} else if args.quirk == quirk_reject_empty_palette {
-		this.quirk_enabled_reject_empty_palette = args.enabled
+	if this.call_sequence == 0 {
+		if args.quirk == quirk_delay_num_decoded_frames {
+			this.quirk_enabled_delay_num_decoded_frames = args.enabled
+		} else if args.quirk == quirk_ignore_too_much_pixel_data {
+			this.quirk_enabled_ignore_too_much_pixel_data = args.enabled
+		} else if args.quirk == quirk_image_bounds_are_strict {
+			this.quirk_enabled_image_bounds_are_strict = args.enabled
+		} else if args.quirk == quirk_background_is_opaque {
+			this.quirk_enabled_background_is_opaque = args.enabled
+		} else if args.quirk == quirk_reject_empty_frame {
+			this.quirk_enabled_reject_empty_frame = args.enabled
+		} else if args.quirk == quirk_reject_empty_palette {
+			this.quirk_enabled_reject_empty_palette = args.enabled
+		}
 	}
 }
 
