diff --git a/src/main.c b/src/main.c
index 3376fa4..2d7fca5 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1244,7 +1244,7 @@ grepfile (char const *file, struct stats *stats)
     }
 
   if ((directories == SKIP_DIRECTORIES && S_ISDIR (stats->stat.st_mode))
-      || (devices == SKIP_DEVICES && (S_ISCHR (stats->stat.st_mode)
+      || (desc && devices == SKIP_DEVICES && (S_ISCHR (stats->stat.st_mode)
                                       || S_ISBLK (stats->stat.st_mode)
                                       || S_ISSOCK (stats->stat.st_mode)
                                       || S_ISFIFO (stats->stat.st_mode))))
