diff --git a/pyopencl/scan.py b/pyopencl/scan.py
index 7ee47e35579615b9a53e40c8aae836c9f3d016c3..ae380ff29a8567558a9220519412ca393b25caad 100644
--- a/pyopencl/scan.py
+++ b/pyopencl/scan.py
@@ -1288,8 +1288,8 @@ class GenericScanKernel(_GenericScanKernelBase):
             n, = first_array.shape
 
         if n == 0:
-            # We're done here.
-            return
+            # We're done here. (But pretend to return an event.)
+            return cl.enqueue_marker(queue, wait_for=wait_for)
 
         data_args = []
         from pyopencl.tools import VectorArg