diff --git a/tests/CI/gates.jenkinsfile b/tests/CI/gates.jenkinsfile
index 983564760f322029fafef4d32f19eb0c71c80657..7be576861ba1638943cca7f1be094654baa9b06a 100644
--- a/tests/CI/gates.jenkinsfile
+++ b/tests/CI/gates.jenkinsfile
@@ -197,7 +197,7 @@ pipeline {
 										]
 									}
 
-									sh "sudo tests/CI/runTestsuite.sh --testsuite-dir='${groupDir}' --testsuite-command='${groupTestcmd}'"
+									sh "sudo tests/CI/runTestsuite.sh --work-dir='${groupDir}/astroot' --testsuite-dir='${groupDir}' --testsuite-command='${groupTestcmd}'"
 
 									archiveArtifacts allowEmptyArchive: true, defaultExcludes: false, fingerprint: true,
 										artifacts: "${groupDir}/asterisk-test-suite-report.xml, ${groupDir}/logs/**, ${groupDir}/core*.txt"
diff --git a/tests/CI/runTestsuite.sh b/tests/CI/runTestsuite.sh
index 9ee7718338a8cc6009086477aca57443d349338c..466991a44c53f9caef6615db8c06e770472828f0 100755
--- a/tests/CI/runTestsuite.sh
+++ b/tests/CI/runTestsuite.sh
@@ -5,6 +5,11 @@ TEST_TIMEOUT=600
 source $CIDIR/ci.functions
 ASTETCDIR=$DESTDIR/etc/asterisk
 
+if [ x"$WORK_DIR" != x ] ; then
+	export AST_WORK_DIR="$(readlink -f $WORK_DIR)"
+	mkdir -p "$AST_WORK_DIR"
+fi
+
 pushd $TESTSUITE_DIR
 
 ./cleanup-test-remnants.sh
@@ -14,7 +19,7 @@ if [ $REALTIME -eq 1 ] ; then
 fi
 
 export PYTHONPATH=./lib/python/
-echo "Running tests ${TESTSUITE_COMMAND}"
+echo "Running tests ${TESTSUITE_COMMAND} ${AST_WORK_DIR:+with work directory ${AST_WORK_DIR}}"
 ./runtests.py --cleanup --timeout=${TEST_TIMEOUT} ${TESTSUITE_COMMAND} | contrib/scripts/pretty_print --no-color --no-timer --term-width=120 --show-errors || :
 
 if [ $REALTIME -eq 1 ] ; then