Could try using ImageList_DrawEx explicitly? Image1.Height := ImageList1.Height; Image1.Width := ImageList1.Width; ImageList_DrawEx(ImageList1.Handle, ImageIndex, Image1.Canvas.Handle, 0, 0, 0, 0, CLR_NONE, CLR_NONE, 0); Cheers, Karl