diff --git a/loopy/type_inference.py b/loopy/type_inference.py
index 48324c4248faa82412ed31fc0d1dd0a2db5fc882..804ab7a3f461c6b61f13f2da81e23c69016c24df 100644
--- a/loopy/type_inference.py
+++ b/loopy/type_inference.py
@@ -355,6 +355,8 @@ class TypeInferenceMapper(CombineMapper):
             return self.combine([n_dtype_set, d_dtype_set])
 
     def map_constant(self, expr):
+        if isinstance(expr, np.generic):
+            return [NumpyType(np.dtype(type(expr)))]
         if is_integer(expr):
             for tp in [np.int32, np.int64]:
                 iinfo = np.iinfo(tp)