diff --git a/lustre/tests/krb5_env.sh b/lustre/tests/krb5_env.sh
index 5414ec88b2bc628608fec3880de01a1d36939b17..fdd81d3ce25983d01f4454a8e49165bb5f4bf050 100755
--- a/lustre/tests/krb5_env.sh
+++ b/lustre/tests/krb5_env.sh
@@ -56,6 +56,20 @@ prepare_krb5_cache() {
         return 0
     fi
 
+    #
+    # check installed service keytab for root
+    #
+    if [ $UID -eq 0 ]; then
+        output=`$KRB5DIR/bin/klist -5 -k`
+        if [ $? == 0 ]; then
+            item=`echo $output | egrep "lustre_mds/.*@"`
+            if [ "x$item" != "x" ]; then
+                echo "Using service keytab"
+                return 0
+            fi
+        fi
+    fi
+
     echo "***** refresh Kerberos V5 TGT for uid $UID *****"
     $KRB5DIR/bin/kinit
     ret=$?
diff --git a/lustre/tests/krb5_refresh_cache.sh b/lustre/tests/krb5_refresh_cache.sh
index b3563064eefeb73b2381f783d3baf9e6604d5ad9..2adfadcf65c0f70597f670e7b3d80e8b5e657db8 100755
--- a/lustre/tests/krb5_refresh_cache.sh
+++ b/lustre/tests/krb5_refresh_cache.sh
@@ -9,6 +9,20 @@ if [ $invalid -eq 0 ]; then
     exit 0
 fi
 
+#
+# check installed service keytab for root
+#
+if [ $UID -eq 0 ]; then
+    output=`$KRB5DIR/bin/klist -5 -k`
+    if [ $? == 0 ]; then
+        item=`echo $output | egrep "lustre_mds/.*@"`
+        if [ "x$item" != "x" ]; then
+            echo "Using service keytab"
+            exit 0
+        fi
+    fi
+fi
+
 echo "***** refresh Kerberos V5 TGT for uid $UID *****"
 $KRB5DIR/bin/kinit
 ret=$?