diff --git a/lustre/tests/acceptance-small.sh b/lustre/tests/acceptance-small.sh
index 6bdadc066454b56fad4c409069a3bbe4764b6707..9e5be2428b11174ec92ba3a25e1d5fcbc31f4185 100755
--- a/lustre/tests/acceptance-small.sh
+++ b/lustre/tests/acceptance-small.sh
@@ -69,6 +69,11 @@ title() {
 for NAME in $CONFIGS; do
 	export NAME MOUNT START CLEAN
 	. $LUSTRE/tests/cfg/$NAME.sh
+
+	if [ ! -f /lib/modules/$(uname -r)/kernel/fs/lustre/mds.ko -a \
+	    ! -f `dirname $0`/../mds/mds.ko ]; then
+	    export CLIENTMODSONLY=true
+	fi
 	
 	assert_env mds_HOST MDS_MKFS_OPTS MDSDEV
 	assert_env ost_HOST OST_MKFS_OPTS OSTCOUNT
diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh
index 22d018a0b707059b1f3eaefda4f30dcd11545b3b..c08579cc6d7d2c996c43b8a9199c1c49dfa88705 100644
--- a/lustre/tests/test-framework.sh
+++ b/lustre/tests/test-framework.sh
@@ -208,7 +208,7 @@ load_modules() {
     load_module osc/osc
     load_module lov/lov
     load_module mgc/mgc
-    if [ -z "$CLIENTONLY" ]; then
+    if [ -z "$CLIENTONLY" ] && [ -z "$CLIENTMODSONLY" ]; then
         grep -q crc16 /proc/kallsyms || { modprobe crc16 2>/dev/null || true; }
         [ "$FSTYPE" = "ldiskfs" ] && load_module ../ldiskfs/ldiskfs/ldiskfs
         load_module mgs/mgs