diff --git a/src/finn/builder/build_dataflow_steps.py b/src/finn/builder/build_dataflow_steps.py
index b48aec948aa377ab66aaeb9bc3b36db5df3cfa1a..fbc6b7a4cd9d531df1ce695af86f6e1d98ca39c5 100644
--- a/src/finn/builder/build_dataflow_steps.py
+++ b/src/finn/builder/build_dataflow_steps.py
@@ -370,7 +370,7 @@ def step_synthesize_bitfile(model: ModelWrapper, cfg: DataflowBuildConfig):
 
     if DataflowOutputType.BITFILE in cfg.generate_outputs:
         bitfile_dir = cfg.output_dir + "/bitfile"
-        os.makedirs(bitfile_dir)
+        os.makedirs(bitfile_dir, exist_ok=True)
         report_dir = cfg.output_dir + "/report"
         os.makedirs(report_dir, exist_ok=True)
         if cfg.shell_flow_type == ShellFlowType.VIVADO_ZYNQ:
@@ -420,7 +420,7 @@ def step_deployment_package(model: ModelWrapper, cfg: DataflowBuildConfig):
         deploy_dir = cfg.output_dir + "/deploy"
         bitfile_dir = cfg.output_dir + "/bitfile"
         driver_dir = cfg.output_dir + "/driver"
-        os.makedirs(deploy_dir)
+        os.makedirs(deploy_dir, exist_ok=True)
         copytree(bitfile_dir, deploy_dir + "/bitfile")
         copytree(driver_dir, deploy_dir + "/driver")
     return model