diff --git a/pyopencl/array.py b/pyopencl/array.py
index 56ff13c2c2091b89f727c9610e9f6ed3e4639a44..69f81f6c3b0945a21bbcf0eeefc55ac86053118f 100644
--- a/pyopencl/array.py
+++ b/pyopencl/array.py
@@ -1183,8 +1183,9 @@ class Array(object):
 
     def finish(self):
         # undoc
-        cl.wait_for_events(self.events)
-        del self.events[:]
+        if self.events:
+            cl.wait_for_events(self.events)
+            del self.events[:]
 
     def __getitem__(self, index):
         """