diff --git a/libmat2/images.py b/libmat2/images.py
index 837f015f26900ef1d823710fe9d237f5ca200b7e..03121e13fb10af13db08253ab4c2aed00a0971dc 100644
--- a/libmat2/images.py
+++ b/libmat2/images.py
@@ -62,6 +62,10 @@ class PNGParser(_ImageParser):
 
     def __init__(self, filename):
         super().__init__(filename)
+
+        if imghdr.what(filename) != 'png':
+            raise ValueError
+
         try:  # better fail here than later
             cairo.ImageSurface.create_from_png(self.filename)
         except MemoryError: