diff --git a/arraycontext/impl/pyopencl.py b/arraycontext/impl/pyopencl.py
index 0e16ee2a0afd93b42945ba2395f7060eabf47590..b4167a83d6e855de735b7ecd28d9e8bfa3d5b1fd 100644
--- a/arraycontext/impl/pyopencl.py
+++ b/arraycontext/impl/pyopencl.py
@@ -41,7 +41,7 @@ from arraycontext.fake_numpy import \
 from arraycontext.container.traversal import (rec_multimap_array_container,
                                               rec_map_array_container)
 from arraycontext.context import ArrayContext
-
+from numbers import Number
 
 # {{{ fake numpy
 
@@ -268,8 +268,7 @@ class PyOpenCLArrayContext(ArrayContext):
         return cla.to_device(self.queue, array, allocator=self.allocator)
 
     def to_numpy(self, array):
-        from numpy import isscalar
-        if isscalar(array):
+        if isinstance(array, Number):
             return array
         return array.get(queue=self.queue)