puts ("\n** Bad Header Checksum **\n");
                return 1;
        }
+       hdr->ih_hcrc = htonl(checksum); /* restore checksum for later use */
 
        print_image_hdr (hdr);
        cnt = (ntohl(hdr->ih_size) + sizeof(image_header_t));
 
 {
        char *boot_device = NULL;
        char *ep;
-       int dev, part=0, rcode;
+       int dev, part=1, rcode;
        ulong addr, cnt, checksum;
        disk_partition_t info;
        image_header_t *hdr;
                puts ("\n** Bad Header Checksum **\n");
                return 1;
        }
+       hdr->ih_hcrc = htonl(checksum); /* restore checksum for later use */
 
        print_image_hdr (hdr);