diff --git a/src/video/SDL_surface.c b/src/video/SDL_surface.c index 7c2d04bdc..085d9ff1e 100644 --- a/src/video/SDL_surface.c +++ b/src/video/SDL_surface.c @@ -1116,9 +1116,13 @@ SDL_ConvertSurface(SDL_Surface * surface, const SDL_PixelFormat * format, /* The palette is identical, just set the same colorkey */ SDL_SetColorKey(convert, 1, surface->map->info.colorkey); } else if (!format->palette) { - set_colorkey_by_color = SDL_TRUE; - /* Was done by 'palette_ck_transform' */ - convert_colorkey = SDL_FALSE; + if (format->Amask) { + /* No need to add the colorkey, transparency is in the alpha channel*/ + } else { + /* Only set the colorkey information */ + set_colorkey_by_color = SDL_TRUE; + convert_colorkey = SDL_FALSE; + } } else { set_colorkey_by_color = SDL_TRUE; }