diff --git a/sumpy/codegen.py b/sumpy/codegen.py
index 74b1a279347433b040c9e6ed3bd3f45dd4808490..20c48667651298600bc1fa5446f5020d189c764d 100644
--- a/sumpy/codegen.py
+++ b/sumpy/codegen.py
@@ -65,15 +65,20 @@ class SympyToPymbolicMapper(SympyToPymbolicMapperBase):
 
 # }}}
 
+
 # {{{ complex handling
 
-def complex_mangler(identifier, arg_dtypes):
+def complex_mangler(target, identifier, arg_dtypes):
     """A function "mangler" to make casting to complex values
     digestible for :mod:`loopy`.
 
     See argument *function_manglers* to :func:`loopy.make_kernel`.
     """
 
+    from loopy.target.pyopencl import PyOpenCLTarget
+    if not isinstance(target, PyOpenCLTarget):
+        raise NotImplementedError("Only the PyOpenCLTarget is supported as of now")
+
     if identifier == "complex" and arg_dtypes == (np.dtype(np.float64),):
         return (np.dtype(np.complex128), "cdouble_fromreal",
                 (np.dtype(np.float64),))