diff --git a/rr_frontend/translation/src/lib.rs b/rr_frontend/translation/src/lib.rs
index f2ba35870876e90a67b5884b6bf46df8e8429161..21f652392932421a1e6504c7c4371cbc58404258 100644
--- a/rr_frontend/translation/src/lib.rs
+++ b/rr_frontend/translation/src/lib.rs
@@ -678,25 +678,27 @@ impl<'tcx, 'rcx> VerificationCtxt<'tcx, 'rcx> {
 
         // write the dune-project file, if required
         if rrconfig::generate_dune_project() {
-            base_dir_path.pop();
-            base_dir_path.push("dune-project");
-            let mut dune_project_file =
-                io::BufWriter::new(fs::File::create(base_dir_path.as_path()).unwrap());
+            let mut dune_project_path = rrconfig::absolute_work_dir();
+            dune_project_path.push("dune-project");
 
-            let (project_name, dune_project_package) = if let Some(ref dune_package) = self.dune_package {
-                (dune_package.to_string(), format!("(package (name {dune_package}))\n"))
-            } else {
-                (stem.to_string(), format!(""))
-            };
-            write!(
-                dune_project_file,
-                "\
-                ; Generated by [refinedrust], do not edit.\n\
-                (lang dune 3.8)\n\
-                (using coq 0.8)\n\
-                (name {project_name})\n{dune_project_package}",
-            )
-            .unwrap();
+            if !dune_project_path.exists() {
+                let mut dune_project_file =
+                    io::BufWriter::new(fs::File::create(dune_project_path.as_path()).unwrap());
+
+                let (project_name, dune_project_package) = if let Some(ref dune_package) = self.dune_package {
+                    (dune_package.to_string(), format!("(package (name {dune_package}))\n"))
+                } else {
+                    (stem.to_string(), format!(""))
+                };
+                write!(
+                    dune_project_file,
+                    "\
+                    (lang dune 3.8)\n\
+                    (using coq 0.8)\n\
+                    (name {project_name})\n{dune_project_package}",
+                )
+                .unwrap();
+            }
         }
 
         // write generated (subdirectory "generated")