diff -Nuar filo-0.5/fs/fsys_ext2fs.c filo-0.5-new/fs/fsys_ext2fs.c
--- filo-0.5/fs/fsys_ext2fs.c	2005-11-15 17:37:30.000000000 +0800
+++ filo-0.5-new/fs/fsys_ext2fs.c	2008-08-19 13:08:12.000000000 +0800
@@ -618,7 +618,7 @@
 	  linkbuf[filemax + len] = '\0';
 
 	  /* Read the symlink data. */
-	  if (INODE->i_blocks)
+	  if (INODE->i_size>0x3C)
 	    {
 	      /* Read the necessary blocks, and reset the file pointer. */
 	      len = grub_read (linkbuf, filemax);
