diff --git a/pyopencl/cffi_cl.py b/pyopencl/cffi_cl.py
index dd9c5df859044e8e113b31e164bed87df60031b4..a1f74b7979f34e70d309414f42db06a6d29de9f9 100644
--- a/pyopencl/cffi_cl.py
+++ b/pyopencl/cffi_cl.py
@@ -540,6 +540,7 @@ class ImageFormat(object):
         cls = type(cls.__name__, (cls,), {})
         cls.channel_order = property(lambda self: args[0], lambda self, v: args.__setitem__(0, v))
         cls.channel_data_type = property(lambda self: args[1], lambda self, v: args.__setitem__(1, v))
+        cls.__hash__ = lambda self: hash(tuple(args))
         return object.__new__(cls)
 
     @property