diff --git a/crates/web-sys/build.rs b/crates/web-sys/build.rs
index d14dd161..dd720c76 100644
--- a/crates/web-sys/build.rs
+++ b/crates/web-sys/build.rs
@@ -113,13 +113,13 @@ fn try_main() -> Result<(), failure::Error> {
 
     // run rustfmt on the generated file - really handy for debugging
     println!("cargo:rerun-if-env-changed=WEBIDL_RUSTFMT_BINDINGS");
-    if env::var("WEBIDL_RUSTFMT_BINDINGS").is_ok() {
+    if env::var("WEBIDL_RUSTFMT_BINDINGS").ok() != Some("0".to_string()) {
         let status = Command::new("rustfmt")
             .arg(&out_file_path)
             .status()
             .context("running rustfmt")?;
         if !status.success() {
-            bail!("rustfmt failed: {}", status)
+            println!("cargo:warning=rustfmt failed: {}", status)
         }
     }