diff --git a/libvips/foreign/spngsave.c b/libvips/foreign/spngsave.c index 445bb3cfa7..c0db1ca88e 100644 --- a/libvips/foreign/spngsave.c +++ b/libvips/foreign/spngsave.c @@ -270,7 +270,7 @@ vips_foreign_save_spng_pack( VipsForeignSaveSpng *spng, VipsPel *q, VipsPel *p, size_t n ) { int pixel_mask = 8 / spng->bitdepth - 1; - int shift = 8 - spng->bitdepth; + int shift = spng->palette ? 0 : 8 - spng->bitdepth; VipsPel bits; size_t x;