Clonezilla relies on Partclone to save and restore filesystems. Although it's useful, even if you use the
-icds option, that alone isn't enough. When restoring the original filesystem on the smaller disk, Partclone will encounter a seek error trying to write beyond the disk boundary. So this is a limitation of not only Clonezilla, but the underlying tools it uses.
What you can do however, is to restore the image temporarily on a 160GB disk, use a filesystem resize tool such as
ntfsresize (for NTFS) or
resize2fs (for ext3/4) to shrink the filesystem, say to 25GB. Resizing the partition table, which GParted does, isn't necessary. Use Clonezilla again to create a new image using the "savedisk" option.
When restoring the image on the smaller disk, use the
-icds option to skip Clonezilla checking if the disk is the same or larger than the original disk. Since you shrunk the filesystem, Partclone won't encounter a seek error and your data will be restored on your smaller disk.
If you used the option to restore the partition table proportionally (
-k1), Clonezilla will create a proper partition table and resize (expand) the original filesystem so that all the free space on the new disk becomes available.
EDIT: The The bug has been fixed.
-icds option isn't passed to
ocs-expand-mbr-pt, so this step currently fails. A bug report has been filed about this with the project.