diff --git a/pyopencl/array.py b/pyopencl/array.py
index 1fde923fbb0c2129c12749db1a2270c592486155..65d8c3e41d4667e22b0bb7c6031fbe88494f28b9 100644
--- a/pyopencl/array.py
+++ b/pyopencl/array.py
@@ -672,8 +672,10 @@ class Array(object):
 
         queue = queue or self.queue
         result = self._new_like_me()
-        cl.enqueue_copy(queue, result.base_data, self.base_data,
-                src_offset=self.offset, byte_count=self.nbytes)
+
+        if self.nbytes:
+            cl.enqueue_copy(queue, result.base_data, self.base_data,
+                    src_offset=self.offset, byte_count=self.nbytes)
 
         return result