diff --git a/.gitignore b/.gitignore
index 0c9a3ffad1279180824a46972c05496b083c2975..636040ada80e28913493dbc55c1c8815751ea412 100644
--- a/.gitignore
+++ b/.gitignore
@@ -59,7 +59,6 @@ autom4te.cache
 /tests/crowbar/mutable
 /tests/crowbar/output-*
 /tests/crowbar/test_ghost_cfg
-/tests/spec/preprocess_dos.c
 /tests/*/*.opt
 
 /devel_tools/fc-time
diff --git a/tests/spec/preprocess_dos.c b/tests/spec/preprocess_dos.c
new file mode 100644
index 0000000000000000000000000000000000000000..fad1137e4f47452a05fd11c815e5e59b7c673ad9
--- /dev/null
+++ b/tests/spec/preprocess_dos.c
@@ -0,0 +1,13 @@
+/* run.config*
+DEPS: preprocess_dos.sh
+ENABLED_IF: %{bin-available:unix2dos}
+OPT: -cpp-command="./@PTEST_NAME@.sh unix2dos %i %o" -cpp-frama-c-compliant -print
+*/
+
+int main() {
+    int a = 0;
+    /*@
+        assert a == 0;
+    */
+    return a;
+}
diff --git a/tests/spec/preprocess_dos.c.in b/tests/spec/preprocess_dos.c.in
deleted file mode 100644
index abae8ad374b159cd60043731308ac57df1f96498..0000000000000000000000000000000000000000
--- a/tests/spec/preprocess_dos.c.in
+++ /dev/null
@@ -1,13 +0,0 @@
-/* run.config*
-COMMENT: Don't edit directly preprocess_dos.c, but preprocess_dos.c.in
-@DONTRUN@
-OPT: -cpp-command="@PTEST_DIR@/@PTEST_NAME@.sh @UNIX2DOS@ %i %o" -cpp-frama-c-compliant -print
-*/
-
-int main() {
-    int a = 0;
-    /*@
-        assert a == 0;
-    */
-    return a;
-}