diff -ru a/Imlib/load.c b/Imlib/load.c --- a/Imlib/load.c 2015-06-21 03:21:07.000000000 +0200 +++ b/Imlib/load.c 2015-06-21 03:16:28.000000000 +0200 @@ -196,7 +196,7 @@ png_destroy_read_struct(&png_ptr, &info_ptr, NULL); return NULL; } - if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA) + if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA) { png_destroy_read_struct(&png_ptr, &info_ptr, NULL); return NULL; diff -ru a/Imlib/utils.c b/Imlib/utils.c --- a/Imlib/utils.c 2015-06-21 03:21:07.000000000 +0200 +++ b/Imlib/utils.c 2015-06-21 03:16:20.000000000 +0200 @@ -1965,7 +1965,7 @@ return NULL; } - if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA) + if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA) { png_destroy_read_struct(&png_ptr, &info_ptr, NULL); return NULL; diff -ru a/gdk_imlib/io-png.c b/gdk_imlib/io-png.c --- a/gdk_imlib/io-png.c 2015-06-21 03:21:07.000000000 +0200 +++ b/gdk_imlib/io-png.c 2015-06-21 03:16:37.000000000 +0200 @@ -46,7 +46,7 @@ return NULL; } - if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA) + if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA) { png_destroy_read_struct(&png_ptr, &info_ptr, NULL); return NULL;