3f864f
diff -urNp old/plug-ins/common/file-tga.c new/plug-ins/common/file-tga.c
3f864f
--- old/plug-ins/common/file-tga.c	2018-01-04 12:36:22.333754882 +0100
3f864f
+++ new/plug-ins/common/file-tga.c	2018-01-04 12:40:46.943070295 +0100
3f864f
@@ -564,12 +564,17 @@ load_image (const gchar  *filename,
3f864f
           }
3f864f
         break;
3f864f
       case TGA_TYPE_COLOR:
3f864f
-        if (info.bpp != 15 && info.bpp != 16 &&
3f864f
-            info.bpp != 24 && info.bpp != 32)
3f864f
+        if ((info.bpp != 15 && info.bpp != 16 &&
3f864f
+            info.bpp != 24 && info.bpp != 32)      ||
3f864f
+           ((info.bpp == 15 || info.bpp == 24) &&
3f864f
+            info.alphaBits != 0)                   ||
3f864f
+           (info.bpp == 16 && info.alphaBits != 1 &&
3f864f
+            info.alphaBits != 0)                   ||
3f864f
+           (info.bpp == 32 && info.alphaBits != 8))
3f864f
           {
3f864f
-            g_message ("Unhandled sub-format in '%s' (type = %u, bpp = %u)",
3f864f
+            g_message ("Unhandled sub-format in '%s' (type = %u, bpp = %u, alpha = %u)",
3f864f
                        gimp_filename_to_utf8 (filename),
3f864f
-                       info.imageType, info.bpp);
3f864f
+                       info.imageType, info.bpp, info.alphaBits);
3f864f
             return -1;
3f864f
           }
3f864f
         break;