diff --git a/lustre/tests/sanity.sh b/lustre/tests/sanity.sh
index 6c8d95ba18c8a37724789b3a840213b5ad23335c..dc89ce947e2e16cb5853239836bb49dd25921a3a 100644
--- a/lustre/tests/sanity.sh
+++ b/lustre/tests/sanity.sh
@@ -1997,12 +1997,13 @@ run_test 44 "zero length read from a sparse stripe ============="
 test_44a() {
     local nstripe=`$LCTL lov_getconfig $DIR | grep default_stripe_count: | \
                          awk '{print $2}'`
+    [ -z "$nstripe" ] && skip "can't get stripe info" && return
+    [ "$nstripe" -gt "$OSTCOUNT" ] && skip "Wrong default_stripe_count: $nstripe (OSTCOUNT: $OSTCOUNT)" && return
     local stride=`$LCTL lov_getconfig $DIR | grep default_stripe_size: | \
                       awk '{print $2}'`
     if [ $nstripe -eq 0 -o $nstripe -gt 1024 ] ; then
         nstripe=`$LCTL lov_getconfig $DIR | grep obd_count: | awk '{print $2}'`
     fi
-    [ -z "$nstripe" ] && error "can't get stripe info"
 
     OFFSETS="0 $((stride/2)) $((stride-1))"
     for offset in $OFFSETS ; do