--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -421,9 +421,9 @@ check: all
 		openssl rand -writerand $$HOME/.rnd; \
 	fi
 	for required in certutil cmsutil pk12util openssl diff cmp mktemp \
-			dos2unix unix2dos dbus-launch ; do \
+			dos2unix unix2dos dbus-run-session ; do \
 		which $$required || exit 1; \
 	done
 	env	srcdir=$(srcdir) \
 	builddir=$(top_builddir)/tests \
-	$(srcdir)/run-tests.sh $(subdirs)
+	dbus-run-session -- $(srcdir)/run-tests.sh $(subdirs)
--- a/tests/run-tests.sh
+++ b/tests/run-tests.sh
@@ -17,13 +17,11 @@ fi
 mkdir -m 500 "$tmpdir"/rosubdir
 mkdir -m 700 "$tmpdir"/rwsubdir
 trap 'rm -f "$tmpfile"; chmod u+w "$tmpdir"/* ; rm -fr "$tmpdir"' EXIT
-unset DBUS_SESSION_BUS_ADDRESS
-eval `dbus-launch --sh-syntax`
 if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
 	echo Error launching session bus.
 	exit 1
 else
-	trap 'rm -f "$tmpfile"; chmod u+w "$tmpdir"/* ; rm -fr "$tmpdir"; kill "$DBUS_SESSION_BUS_PID"' EXIT
+	trap 'rm -f "$tmpfile"; chmod u+w "$tmpdir"/* ; rm -fr "$tmpdir"' EXIT
 fi
 
 srcdir=${srcdir:-`pwd`}
