diff --git a/rr_frontend/.cargo/config.toml b/rr_frontend/.cargo/config.toml
index 46e4728d58fed809c6cf6e6ef0dcf1dc8dca2871..986cb3513e8bb74ce095cf29d35369a7443bddc3 100644
--- a/rr_frontend/.cargo/config.toml
+++ b/rr_frontend/.cargo/config.toml
@@ -32,7 +32,6 @@ rustflags = [
     "-Aclippy::string_lit_as_bytes",
 
     # clippy::restriction
-    "-Aclippy::create_dir",
     "-Aclippy::empty_structs_with_brackets",
     "-Aclippy::get_unwrap",
     "-Aclippy::if_then_some_else_none",
diff --git a/rr_frontend/translation/src/lib.rs b/rr_frontend/translation/src/lib.rs
index b10a5478c0022a053bdbbf6d63e73435f6e0d7ca..2b25d754f80f0452000643d5aaca73fab53b5404 100644
--- a/rr_frontend/translation/src/lib.rs
+++ b/rr_frontend/translation/src/lib.rs
@@ -721,13 +721,12 @@ impl<'tcx, 'rcx> VerificationCtxt<'tcx, 'rcx> {
         info!("outputting generated code to {}", generated_dir_path.to_str().unwrap());
         if fs::read_dir(generated_dir_path).is_err() {
             warn!("Output directory {:?} does not exist, creating directory", generated_dir_path);
-            fs::create_dir_all(generated_dir_path).unwrap();
         } else {
             // purge contents
             info!("Removing the contents of the generated directory");
             fs::remove_dir_all(generated_dir_path).unwrap();
-            fs::create_dir(generated_dir_path).unwrap();
         }
+        fs::create_dir_all(generated_dir_path).unwrap();
 
         let code_path = generated_dir_path.join(format!("generated_code_{}.v", stem));
         let spec_path = generated_dir_path.join(format!("generated_specs_{}.v", stem));