diff --git a/tests/ChangeLog b/tests/ChangeLog
index c3155848..48d0f971 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,9 @@
+2009-02-25  Benjamin Wolsey  <bwy@benjaminwolsey.de>
+
+	* Makefile.am (run-px-tests): Ensure run-px is run from srcdir.
+
+	* run-px: Include modules from srcdir.
+
 2008-11-25  Steven Schubiger  <stsc@members.fsf.org>
 
 	* WgetTest.pm.in: Remove the magic interpreter line;
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 6e703f01..068c15e2 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -55,7 +55,7 @@ run-unit-tests: unit-tests$(EXEEXT)
 	./unit-tests$(EXEEXT)
 
 run-px-tests: WgetTest.pm ../src/wget$(EXEEXT)
-	./run-px $(top_srcdir)
+	$(srcdir)/run-px $(top_srcdir)
 
 EXTRA_DIST = FTPServer.pm FTPTest.pm HTTPServer.pm HTTPTest.pm \
 	     Test-auth-basic.px Test-c-full.px Test-c-partial.px \
diff --git a/tests/run-px b/tests/run-px
index 0f8f2964..6fe0d9fb 100755
--- a/tests/run-px
+++ b/tests/run-px
@@ -59,7 +59,7 @@ my @tested;
 
 foreach my $test (@tests) {
     print "Running $test\n\n";
-    system("$^X $top_srcdir/tests/$test");
+    system("$^X -I$top_srcdir/tests $top_srcdir/tests/$test");
     push @tested, { name => $test, result => $? };
 }