346c346,358
< 		this->UpdatePalette(0, 256);
---
> 		/* Set the palette colours up */
> 		//this->UpdatePalette(0, 256);
> 		for (uint32_t index = 0; index < 256; index++) {
> 			/* Clamp colors between 0.0 and 1.0 */
> 			CGDeviceColor color;
> 			color.red   = _cur_palette[index].r / 255.0;
> 			color.blue  = _cur_palette[index].b / 255.0;
> 			color.green = _cur_palette[index].g / 255.0;
> 			
> 			CGPaletteSetColorAtIndex(this->palette, color, index);
> 		}
> 		
> 		CGDisplaySetPalette(this->display_id, this->palette);
472,484c484,485
< 		if (this->display_depth != 8) return;
< 
< 		for (uint32_t index = first_color; index < first_color + num_colors; index++) {
< 			/* Clamp colors between 0.0 and 1.0 */
< 			CGDeviceColor color;
< 			color.red   = _cur_palette[index].r / 255.0;
< 			color.blue  = _cur_palette[index].b / 255.0;
< 			color.green = _cur_palette[index].g / 255.0;
< 
< 			CGPaletteSetColorAtIndex(this->palette, color, index);
< 		}
< 
< 		CGDisplaySetPalette(this->display_id, this->palette);
---
> 		/* Do nothing because this is called every refresh */
> 		
