diff --git a/pytools/__init__.py b/pytools/__init__.py
index 7e9be32652520fc36590cd5281457922064910ff..96faa773d35303a85d77357b3d817144116ff821 100644
--- a/pytools/__init__.py
+++ b/pytools/__init__.py
@@ -1293,7 +1293,7 @@ def match_precision(dtype, dtype_to_match):
     tgt_is_double = dtype_to_match in [
             numpy.float64, numpy.complex128]
 
-    dtype_is_complex = complex in dtype.type.__mro__
+    dtype_is_complex = dtype.kind == "c"
     if dtype_is_complex:
         if tgt_is_double:
             return numpy.dtype(numpy.complex128)