diff --git a/pyopencl/array.py b/pyopencl/array.py
index e10a02628eb1eccb6afef6760fcc086cca32ef3a..2cd48b2c3211edde0422466f60e27ba799b7f422 100644
--- a/pyopencl/array.py
+++ b/pyopencl/array.py
@@ -35,6 +35,7 @@ import pyopencl.elementwise as elementwise
 import pyopencl as cl
 from pytools import memoize_method
 from pyopencl.compyte.array import (
+        as_strided as _as_strided,
         f_contiguous_strides as _f_contiguous_strides, 
         c_contiguous_strides as _c_contiguous_strides, 
         ArrayFlags as _ArrayFlags,
@@ -316,8 +317,7 @@ class Array(object):
         if ary is None:
             ary = np.empty(self.shape, self.dtype)
 
-            from numpy.lib.stride_tricks import as_strided
-            ary = as_strided(ary, strides=self.strides)
+            ary = _as_strided(ary, strides=self.strides)
         else:
             if ary.size != self.size:
                 raise TypeError("'ary' has non-matching type")
diff --git a/pyopencl/compyte b/pyopencl/compyte
index e76d14849c24f9b8ecb0f9c068a1dd17301b8d79..17579cd8a40f6b3e07a1a4ea8e4acc11102b6e12 160000
--- a/pyopencl/compyte
+++ b/pyopencl/compyte
@@ -1 +1 @@
-Subproject commit e76d14849c24f9b8ecb0f9c068a1dd17301b8d79
+Subproject commit 17579cd8a40f6b3e07a1a4ea8e4acc11102b6e12