diff --git a/libmat2/images.py b/libmat2/images.py
index 18fe4d379b64e5e52151c2f09555b80d82bf25e8..da422581ffba1658c2053ea19491e475dd560962 100644
--- a/libmat2/images.py
+++ b/libmat2/images.py
@@ -63,7 +63,8 @@ class PNGParser(exiftool.ExiftoolParser):
 
         try:  # better fail here than later
             cairo.ImageSurface.create_from_png(self.filename)
-        except MemoryError:  # pragma: no cover
+        except Exception:  # pragma: no cover
+            # Cairo is returning some weird exceptions :/
             raise ValueError
 
     def remove_all(self) -> bool: