diff --git a/pyopencl/array.py b/pyopencl/array.py
index 8dd2a29275483523b695a8a6b4e4aa585ef50dfc..d56bbb216ca04420ba1c72d5a42cbfe987fe1e5b 100644
--- a/pyopencl/array.py
+++ b/pyopencl/array.py
@@ -100,8 +100,13 @@ def elwise_kernel_runner(kernel_getter):
 
         return knl(queue, gs, ls, *actual_args)
 
-    from functools import update_wrapper
-    return update_wrapper(kernel_runner, kernel_getter)
+    try:
+       from functools import update_wrapper
+    except ImportError:
+        return kernel_runner
+    else:
+       return update_wrapper(kernel_runner, kernel_getter)
+