diff --git a/Makefile.am b/Makefile.am
index 5b4d59c514401718a92db235ff6dba57e83fc6b5..8f6b38aa0f43c568292ac10f38e36e9be649b5ce 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -25,6 +25,8 @@ include src/include.am
 include doc/include.am
 include contrib/include.am
 
+export TESTING_TOR_BINARY
+
 EXTRA_DIST+= \
 	ChangeLog					\
 	INSTALL						\
diff --git a/src/test/include.am b/src/test/include.am
index 7406c84a1fe91cf61e772a7edff74316e7aabe0f..3fe4f50edf6c033a246910c604070a386adb405b 100644
--- a/src/test/include.am
+++ b/src/test/include.am
@@ -1,5 +1,5 @@
 
-TESTSCRIPTS = src/test/test_zero_length_keys.sh
+TESTSCRIPTS = src/test/test_zero_length_keys.sh src/test/test_keygen.sh
 
 if USEPYTHON
 TESTSCRIPTS += src/test/test_ntor.sh src/test/test_bt.sh
diff --git a/src/test/test_keygen.sh b/src/test/test_keygen.sh
index 469b0bad320773e0ce07d1ccffef92525de85f14..1f1cef5f025c3c05ac319674b8a0022ce93519cd 100755
--- a/src/test/test_keygen.sh
+++ b/src/test/test_keygen.sh
@@ -7,11 +7,20 @@ umask 077
 set -e
 
 if [ $# -eq 0 ] || [ ! -f ${1} ] || [ ! -x ${1} ]; then
-  echo "Usage: ${0} PATH_TO_TOR [case-number]"
-  exit 1
-elif [ $# -ge 1 ]; then
+  if [ "$TESTING_TOR_BINARY" = ""] ; then
+    echo "Usage: ${0} PATH_TO_TOR [case-number]"
+    exit 1
+  fi
+fi
+
+if [ $# -ge 1 ]; then
   TOR_BINARY="${1}"
   shift
+else
+  TOR_BINARY="${TESTING_TOR_BINARY}"
+fi
+
+
 
   if [ $# -ge 1 ]; then
       dflt=0
@@ -35,7 +44,7 @@ elif [ $# -ge 1 ]; then
   if [ $# -ge 1 ]; then
      eval "CASE${1}"=1
   fi
-fi
+
 
 die() { echo "$1" >&2 ; exit 5; }
 check_dir() { [ -d "$1" ] || die "$1 did not exist"; }