diff --git a/lustre/utils/liblustreapi.c b/lustre/utils/liblustreapi.c
index 9696ea98b0078bf5ec32660cfdb73af7247be835..1fd81bb106ac9eb540076882e7837bc308613787 100644
--- a/lustre/utils/liblustreapi.c
+++ b/lustre/utils/liblustreapi.c
@@ -879,18 +879,6 @@ static int cb_find_init(char *path, DIR *parent, DIR *dir,
                         goto decided;
         }
 
-        /* Check the time on mds. */
-        if (!decision) {
-                int for_mds;
-
-                for_mds = lustre_fs ? (S_ISREG(st->st_mode) &&
-                                       param->lmd->lmd_lmm.lmm_stripe_count)
-                                    : 0;
-                decision = find_time_check(st, param, for_mds);
-                if (decision == -1)
-                        goto decided;
-        }
-
         /* See if we can check the file type from the dirent. */
         if (param->type && de != NULL && de->d_type != DT_UNKNOWN &&
             de->d_type <= DT_MAX) {
@@ -944,6 +932,18 @@ static int cb_find_init(char *path, DIR *parent, DIR *dir,
                 }
         }
 
+        /* Check the time on mds. */
+        if (!decision) {
+                int for_mds;
+
+                for_mds = lustre_fs ? (S_ISREG(st->st_mode) &&
+                                       param->lmd->lmd_lmm.lmm_stripe_count)
+                                    : 0;
+                decision = find_time_check(st, param, for_mds);
+                if (decision == -1)
+                        goto decided;
+        }
+
         if (param->type && !checked_type) {
                 if ((st->st_mode & S_IFMT) == param->type) {
                         if (param->exclude_type)