diff --git a/ptests/ptests.ml b/ptests/ptests.ml
index 95d3dac5606d66811c90d517204c5c52b4836eeb..32ef19745632b36632716241ca0e57c2e6de9103 100644
--- a/ptests/ptests.ml
+++ b/ptests/ptests.ml
@@ -1357,7 +1357,9 @@ end = struct
 
   let get_ptest_file cmd = SubDir.make_file cmd.directory cmd.file
 
-  let expand_macros ~defaults cmd =
+  let expand_macros =
+    let dune_cmd_features = Str.regexp "%{[a-z][a-z-]*:\\([^}]*\\)}" in
+    fun ~defaults cmd ->
     let ptest_config =
       if !special_config = "" then "" else "_" ^ !special_config
     in
@@ -1409,6 +1411,9 @@ end = struct
       end
       else toplevel
     in
+    let toplevel = (* removes dune feature such as %{deps:...} *)
+      str_global_replace dune_cmd_features "\\1" toplevel
+    in
     { cmd with
       macros;
       toplevel;