printf("\nLoading from %s, offset 0x%lx\n", nand->name, offset);
 
        cnt = nand->writesize;
-       r = nand_read(nand, offset, &cnt, (u_char *) addr);
+       r = nand_read_skip_bad(nand, offset, &cnt, (u_char *) addr);
        if (r) {
                puts("** Read error\n");
                show_boot_progress (-56);
        }
        show_boot_progress (57);
 
-       /* FIXME: skip bad blocks */
-       r = nand_read(nand, offset, &cnt, (u_char *) addr);
+       r = nand_read_skip_bad(nand, offset, &cnt, (u_char *) addr);
        if (r) {
                puts("** Read error\n");
                show_boot_progress (-58);