diff --git a/src/finn/transformation/fpgadataflow/make_zynq_proj.py b/src/finn/transformation/fpgadataflow/make_zynq_proj.py
index dfc076ba52ab5911267d807a7513e4840f01edaf..1558d7399fe5399053c3f347cd06c4e0d76753e7 100644
--- a/src/finn/transformation/fpgadataflow/make_zynq_proj.py
+++ b/src/finn/transformation/fpgadataflow/make_zynq_proj.py
@@ -52,6 +52,7 @@ from finn.transformation.fpgadataflow.floorplan import Floorplan
 from finn.transformation.general import GiveReadableTensorNames, GiveUniqueNodeNames
 from finn.transformation.infer_data_layouts import InferDataLayouts
 from shutil import copy
+from finn.transformation.fpgadataflow.make_pynq_driver import MakePYNQDriver
 
 from . import templates
 
@@ -280,6 +281,7 @@ class ZynqBuild(Transformation):
         model = model.transform(InferDataLayouts())
         # prepare at global level, then break up into kernels
         prep_transforms = [
+            MakePYNQDriver(platform="zynq-iodma"),
             InsertIODMA(64),
             InsertDWC(),
             Floorplan(),
diff --git a/tests/end2end/test_zynqbuild_end2end_cnv_w1a1.py b/tests/end2end/test_zynqbuild_end2end_cnv_w1a1.py
index 1a1b21afa1aee5db97add9b3eadba1b750a967cc..cefe4d038f3e346f39f3c2aa995708123a2e26da 100644
--- a/tests/end2end/test_zynqbuild_end2end_cnv_w1a1.py
+++ b/tests/end2end/test_zynqbuild_end2end_cnv_w1a1.py
@@ -44,7 +44,6 @@ from finn.transformation.fpgadataflow.create_dataflow_partition import (
     CreateDataflowPartition,
 )
 from finn.transformation.fpgadataflow.make_deployment import DeployToPYNQ
-from finn.transformation.fpgadataflow.make_pynq_driver import MakePYNQDriver
 from finn.transformation.general import (
     RemoveUnusedTensors,
     RemoveStaticGraphInputs,
@@ -168,19 +167,11 @@ def test_end2end_zynqbuild_cnv_w1a1_fold():
     model.save(build_dir + "/end2end_zynqbuild_cnv_w1a1_folded.onnx")
 
 
-def test_end2end_zynqbuild_cnv_w1a1_make_driver():
-    model = load_test_checkpoint_or_skip(
-        build_dir + "/end2end_zynqbuild_cnv_w1a1_folded.onnx"
-    )
-    model = model.transform(MakePYNQDriver(platform="zynq-iodma"))
-    model.save(build_dir + "/end2end_zynqbuild_cnv_w1a1_pynq_driver.onnx")
-
-
 @pytest.mark.slow
 @pytest.mark.vivado
 def test_end2end_zynqbuild_cnv_w1a1_build():
     model = load_test_checkpoint_or_skip(
-        build_dir + "/end2end_zynqbuild_cnv_w1a1_pynq_driver.onnx"
+        build_dir + "/end2end_zynqbuild_cnv_w1a1_folded.onnx"
     )
     model = model.transform(ZynqBuild(test_pynq_board, target_clk_ns))
     model = model.transform(AnnotateResources("synth"))
diff --git a/tests/end2end/test_zynqbuild_end2end_tfc_w1a1.py b/tests/end2end/test_zynqbuild_end2end_tfc_w1a1.py
index 98ccc93188c17f4f82b3cbf0164f847c92b7b7bd..f473b86bba24fc08c29a553e06614e331c6cd4bb 100644
--- a/tests/end2end/test_zynqbuild_end2end_tfc_w1a1.py
+++ b/tests/end2end/test_zynqbuild_end2end_tfc_w1a1.py
@@ -49,7 +49,6 @@ from finn.transformation.fpgadataflow.create_dataflow_partition import (
     CreateDataflowPartition,
 )
 from finn.transformation.fpgadataflow.make_deployment import DeployToPYNQ
-from finn.transformation.fpgadataflow.make_pynq_driver import MakePYNQDriver
 from finn.transformation.general import (
     RemoveUnusedTensors,
     RemoveStaticGraphInputs,
@@ -152,19 +151,11 @@ def test_end2end_zynqbuild_tfc_w1a1_fold():
     model.save(build_dir + "/end2end_zynqbuild_tfc_w1a1_folded.onnx")
 
 
-def test_end2end_zynqbuild_tfc_w1a1_make_driver():
-    model = load_test_checkpoint_or_skip(
-        build_dir + "/end2end_zynqbuild_tfc_w1a1_folded.onnx"
-    )
-    model = model.transform(MakePYNQDriver(platform="zynq-iodma"))
-    model.save(build_dir + "/end2end_zynqbuild_tfc_w1a1_pynq_driver.onnx")
-
-
 @pytest.mark.slow
 @pytest.mark.vivado
 def test_end2end_zynqbuild_tfc_w1a1_build():
     model = load_test_checkpoint_or_skip(
-        build_dir + "/end2end_zynqbuild_tfc_w1a1_pynq_driver.onnx"
+        build_dir + "/end2end_zynqbuild_tfc_w1a1_folded.onnx"
     )
     model = model.transform(ZynqBuild(test_pynq_board, target_clk_ns))
     model = model.transform(AnnotateResources("synth"))
diff --git a/tests/end2end/test_zynqbuild_end2end_tfc_w2a2.py b/tests/end2end/test_zynqbuild_end2end_tfc_w2a2.py
index b8db8c1a4a2049a38e64b9c5bb54fb7d4d8d0ab0..7b28090854adbbcb6f400f73c2b6f6557f540e5e 100644
--- a/tests/end2end/test_zynqbuild_end2end_tfc_w2a2.py
+++ b/tests/end2end/test_zynqbuild_end2end_tfc_w2a2.py
@@ -45,7 +45,6 @@ from finn.transformation.fpgadataflow.create_dataflow_partition import (
     CreateDataflowPartition,
 )
 from finn.transformation.fpgadataflow.make_deployment import DeployToPYNQ
-from finn.transformation.fpgadataflow.make_pynq_driver import MakePYNQDriver
 from finn.transformation.general import (
     RemoveUnusedTensors,
     RemoveStaticGraphInputs,
@@ -142,19 +141,11 @@ def test_end2end_zynqbuild_tfc_w2a2_fold():
     model.save(build_dir + "/end2end_zynqbuild_tfc_w2a2_folded.onnx")
 
 
-def test_end2end_zynqbuild_tfc_w2a2_make_driver():
-    model = load_test_checkpoint_or_skip(
-        build_dir + "/end2end_zynqbuild_tfc_w2a2_folded.onnx"
-    )
-    model = model.transform(MakePYNQDriver(platform="zynq-iodma"))
-    model.save(build_dir + "/end2end_zynqbuild_tfc_w2a2_pynq_driver.onnx")
-
-
 @pytest.mark.slow
 @pytest.mark.vivado
 def test_end2end_zynqbuild_tfc_w2a2_build():
     model = load_test_checkpoint_or_skip(
-        build_dir + "/end2end_zynqbuild_tfc_w2a2_pynq_driver.onnx"
+        build_dir + "/end2end_zynqbuild_tfc_w2a2_folded.onnx"
     )
     model = model.transform(ZynqBuild(test_pynq_board, target_clk_ns))
     model = model.transform(AnnotateResources("synth"))
diff --git a/tests/fpgadataflow/test_fpgadataflow_fifo.py b/tests/fpgadataflow/test_fpgadataflow_fifo.py
index 5de3c7d6f5339bde18eeff7bebc60d954b4648b0..a0881e2c95a491c79bb86b9817fb81735eb63d81 100644
--- a/tests/fpgadataflow/test_fpgadataflow_fifo.py
+++ b/tests/fpgadataflow/test_fpgadataflow_fifo.py
@@ -107,7 +107,7 @@ def test_fpgadataflow_fifo_rtlsim(Shape, folded_shape, depth, finn_dtype):
         model = model.transform(CreateStitchedIP(test_fpga_part, target_clk_ns))
         model = model.transform(MakePYNQProject(test_pynq_board))
         model = model.transform(SynthPYNQProject())
-        model = model.transform(MakePYNQDriver(platform="zynq-iodma"))
+        model = model.transform(MakePYNQDriver(platform="zynq"))
         username = os.getenv("PYNQ_USERNAME", "xilinx")
         password = os.getenv("PYNQ_PASSWORD", "xilinx")
         port = os.getenv("PYNQ_PORT", 22)
diff --git a/tests/fpgadataflow/test_fpgadataflow_ipstitch.py b/tests/fpgadataflow/test_fpgadataflow_ipstitch.py
index 380e9313ae28637c81c0e0a28b0e07ce37d2d650..66b0ef921453e9e6fee9eb9be18cc556b2612f23 100644
--- a/tests/fpgadataflow/test_fpgadataflow_ipstitch.py
+++ b/tests/fpgadataflow/test_fpgadataflow_ipstitch.py
@@ -459,11 +459,6 @@ def test_fpgadataflow_ipstitch_zynqbuild(board):
     idt = model.get_tensor_datatype(iname)
     ishape = model.get_tensor_shape(iname)
     x = gen_finn_dt_tensor(idt, ishape)
-    # driver
-    model = model.transform(MakePYNQDriver(platorm="zynq-iodma"))
-    driver_dir = model.get_metadata_prop("pynq_driver_dir")
-    assert driver_dir is not None
-    assert os.path.isdir(driver_dir)
     # bitfile using ZynqBuild
     model = model.transform(ZynqBuild(board, 10))
     model.save(ip_stitch_model_dir + "/test_fpgadataflow_ipstitch_customzynq.onnx")