diff --git a/lustre/tests/conf-sanity.sh b/lustre/tests/conf-sanity.sh
index f55744fc85d26a9b464544f46fbb3a76338cccb2..6fec4c5d3c108248eb8a3ddb16b90abb23b0fedf 100644
--- a/lustre/tests/conf-sanity.sh
+++ b/lustre/tests/conf-sanity.sh
@@ -1058,11 +1058,12 @@ run_test 27b "Reacquire MGS lock after failover"
 test_28() {
         setup
 	TEST="lctl get_param -n llite.$FSNAME-*.max_read_ahead_whole_mb"
-	ORIG=$($TEST) 
-	declare -i FINAL
-	FINAL=$(($ORIG + 10))
-	set_and_check client "$TEST" "$FSNAME.llite.max_read_ahead_whole_mb" || return 3
-	set_and_check client "$TEST" "$FSNAME.llite.max_read_ahead_whole_mb" || return 3
+	PARAM="$FSNAME.llite.max_read_ahead_whole_mb"
+	ORIG=$($TEST)
+	FINAL=$(($ORIG + 1))
+	set_and_check client "$TEST" "$PARAM" $FINAL || return 3
+	FINAL=$(($FINAL + 1))
+	set_and_check client "$TEST" "$PARAM" $FINAL || return 4
  	umount_client $MOUNT || return 200
 	mount_client $MOUNT
 	RESULT=$($TEST)
@@ -1072,6 +1073,7 @@ test_28() {
 	else
 	    echo "New config success: got $RESULT"
 	fi
+	set_and_check client "$TEST" "$PARAM" $ORIG || return 5
 	cleanup
 }
 run_test 28 "permanent parameter setting"
@@ -1147,8 +1149,9 @@ test_30() {
 	setup
 
 	TEST="lctl get_param -n llite.$FSNAME-*.max_read_ahead_whole_mb"
-	ORIG=$($TEST) 
-	for i in $(seq 1 20); do 
+	ORIG=$($TEST)
+	LIST=(1 2 3 4 5 4 3 2 1 2 3 4 5 4 3 2 1 2 3 4 5)
+	for i in ${LIST[@]}; do
 	    set_and_check client "$TEST" "$FSNAME.llite.max_read_ahead_whole_mb" $i || return 3
 	done
 	# make sure client restart still works