diff --git a/fs/fat/inode.c b/fs/fat/inode.c
index bf918929e793079ea5c5541a156a0e016726598b..5f522a55b596e32cfe440ae187f78891c8948f70 100644
--- a/fs/fat/inode.c
+++ b/fs/fat/inode.c
@@ -1226,7 +1226,7 @@ int fat_fill_super(struct super_block *sb, void *data, int silent,
 		le16_to_cpu(get_unaligned((__le16 *)&b->sector_size));
 	if (!is_power_of_2(logical_sector_size)
 	    || (logical_sector_size < 512)
-	    || (PAGE_CACHE_SIZE < logical_sector_size)) {
+	    || (logical_sector_size > 4096)) {
 		if (!silent)
 			printk(KERN_ERR "FAT: bogus logical sector size %u\n",
 			       logical_sector_size);