diff --git a/client/Graphics.cpp b/client/Graphics.cpp
index 16a2cc379..a5f6d55b1 100644
--- a/client/Graphics.cpp
+++ b/client/Graphics.cpp
@@ -265,9 +265,13 @@ void Graphics::loadHeroFlagsDetail(std::pair<std::vector<CDefEssential *> Graphi
 		}
 		for(auto & curImg : curImgs)
 		{
-			SDL_SetColorKey(curImg.bitmap, SDL_SRCCOLORKEY,
-				SDL_MapRGB(curImg.bitmap->format, 0, 255, 255)
-				);
+			#ifdef VCMI_SDL1
+			uint32_t key = SDL_MapRGB(curImg.bitmap->format, 0, 255, 255); 
+			#else
+			uint32_t key = SDL_MapRGBA(curImg.bitmap->format, 0, 255, 255, 0); 
+			#endif
+						
+			SDL_SetColorKey(curImg.bitmap, SDL_SRCCOLORKEY, key);
 			#ifndef VCMI_SDL1
 			SDL_SetSurfaceBlendMode(curImg.bitmap,SDL_BLENDMODE_NONE);
 			#endif