diff --git a/ChangeLog b/ChangeLog
index e900fb0296dcd627ebacbc75d32883b45d94821b..c14cec8335ac2d7c3069a0ff73f868fcd7bdc5da 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2020-04-23  Niels Möller  <nisse@lysator.liu.se>
 
+	* run-tests: Set WINEPATH, since it appears wine doesn't search
+	for dlls in the unix PATH.
+	* examples/setup-env: Delete creation of extra dll symlinks.
+	* examples/teardown-env: Delete corresponding cleanup.
+	* testsuite/setup-env: Deleted file (same symlink creation).
+	* testsuite/teardown-env: Delete corresponding cleanup.
+
 	* testsuite/ecc-add-test.c (test_main): Delete ASSERTs with
 	functions pointer comparisons. They provide little value, and fail
 	when linking with hogweed.dll on windows.
diff --git a/examples/setup-env b/examples/setup-env
index e59b283c243ff765e111baffa0851aed4d543895..3ebef2c8b7d5b673c96d88d64103df180b0edeae 100755
--- a/examples/setup-env
+++ b/examples/setup-env
@@ -2,15 +2,6 @@
 
 set -e
 
-# Workaround, it seems difficult to convince wine to put ../lib into PATH.
-case "$EMULATOR" in
-    wine*)
-	for f in ../.lib/*.dll ; do
-	  ln -sf "$f" .
-	done
-	;;
-esac
-
 if [ -x rsa-keygen$EXEEXT ] ; then
   $EMULATOR ./rsa-keygen -r rsa-decrypt$EXEEXT -o testkey || exit 1
 fi
diff --git a/examples/teardown-env b/examples/teardown-env
index 0b0e040e3b71dfa86a6c0c5d9907f0751de9b1ae..36c113f65e4dad4e2388aad25580d460444196e4 100755
--- a/examples/teardown-env
+++ b/examples/teardown-env
@@ -3,9 +3,3 @@
 rm -rf testkey testkey.pub testsignature testsignature2 \
     testdata testtmp \
     testciphertext testcleartext
-
-case "$EMULATOR" in
-    wine*)
-	find . -type l -name '*.dll' -exec rm -f '{}' ';'
-	;;
-esac
diff --git a/run-tests b/run-tests
index 5186d0c81a7b0f43f5436d9f8cf711994ecae120..c44903f67699d2ff1d080eec0aa4a9b2ceb9e2ef 100755
--- a/run-tests
+++ b/run-tests
@@ -35,9 +35,13 @@ if [ -n "$TEST_SHLIB_DIR" ] ; then
   DYLD_LIBRARY_PATH="$TEST_SHLIB_DIR"
   # For Windows
   PATH="${TEST_SHLIB_DIR}:${PATH}"
+  # For Wine
+  WINEPATH="${TEST_SHLIB_DIR}"
+
   export LD_LIBRARY_PATH
   export DYLD_LIBRARY_PATH
   export PATH
+  export WINEPATH
 fi
 
 # When used in make rules, we sometimes get the filenames VPATH
diff --git a/testsuite/setup-env b/testsuite/setup-env
deleted file mode 100755
index bb3e3c5d55258a910cf67e93c316eda1ce9806d8..0000000000000000000000000000000000000000
--- a/testsuite/setup-env
+++ /dev/null
@@ -1,12 +0,0 @@
-#! /bin/sh
-
-set -e
-
-# Workaround, it seems difficult to convince wine to put ../lib into PATH.
-case "$EMULATOR" in
-    wine*)
-	for f in ../.lib/*.dll ; do
-	  ln -sf "$f" .
-	done
-	;;
-esac
diff --git a/testsuite/teardown-env b/testsuite/teardown-env
index 671a06ca738ff96e0d273edbe3b741b02f7f25e2..f19bbe9c0067547d5ea002247c593f45c4314fff 100755
--- a/testsuite/teardown-env
+++ b/testsuite/teardown-env
@@ -1,9 +1,3 @@
 #! /bin/sh
 
 rm -rf testkey.priv testkey.pub testtmp testsignature testsignature2
-
-case "$EMULATOR" in
-    wine*)
-	find . -type l -name '*.dll' -exec rm -f '{}' ';'
-	;;
-esac