diff --git a/find/pred.c b/find/pred.c
index 27db863..eea102d 100644
--- a/find/pred.c
+++ b/find/pred.c
@@ -1723,7 +1723,11 @@ pred_type (const char *pathname, struct stat *stat_buf, struct predicate *pred_ptr)
  if (state.have_stat)
      mode = stat_buf->st_mode;
   else
-     mode = state.type;
+     if (get_statinfo(pathname,  state.rel_pathname, stat_buf) != 0)
+       return false;
+
+     //mode = state.type;
+     mode = stat_buf->st_mode;
 
 #ifndef S_IFMT
   /* POSIX system; check `mode' the slow way. */
