diff --git a/loopy/kernel/data.py b/loopy/kernel/data.py
index c95ca0e9144e54c704e8aaa1444aba818bdbe27b..9266db0e357908e00c33256ac79b781be71bd705 100644
--- a/loopy/kernel/data.py
+++ b/loopy/kernel/data.py
@@ -244,7 +244,7 @@ class ImageArg(ArrayBase, KernelArgument):
 
     def get_arg_decl(self, target, name_suffix, shape, dtype, is_written):
         return target.get_image_arg_decl(self.name + name_suffix, shape,
-                dtype, is_written)
+                self.num_target_axes(), dtype, is_written)
 
 
 class ValueArg(KernelArgument):
diff --git a/loopy/target/__init__.py b/loopy/target/__init__.py
index 17534bf6dee1c18fbc831c4a7904c635491b3757..ba83b07eeb7cb0d1d28237c1b9d66eba4c75b6fc 100644
--- a/loopy/target/__init__.py
+++ b/loopy/target/__init__.py
@@ -119,7 +119,7 @@ class TargetBase(object):
     def get_global_arg_decl(self, name, shape, dtype, is_written):
         raise NotImplementedError()
 
-    def get_image_arg_decl(self, name, shape, dtype, is_written):
+    def get_image_arg_decl(self, name, shape, num_target_axes, dtype, is_written):
         raise NotImplementedError()
 
     # }}}
diff --git a/loopy/target/opencl.py b/loopy/target/opencl.py
index 4a9b0f31d9a8ffb57896fab773c474d6a5bca1bd..9b5c4544b934e3fe44215175d07896eba560c014 100644
--- a/loopy/target/opencl.py
+++ b/loopy/target/opencl.py
@@ -309,14 +309,14 @@ class OpenCLTarget(CTarget):
         return CLGlobal(super(OpenCLTarget, self).get_global_arg_decl(
             name, shape, dtype, is_written))
 
-    def get_image_arg_decl(self, name, shape, dtype, is_written):
+    def get_image_arg_decl(self, name, shape, num_target_axes, dtype, is_written):
         if is_written:
             mode = "w"
         else:
             mode = "r"
 
         from cgen.opencl import CLImage
-        return CLImage(self.num_target_axes(), mode, name)
+        return CLImage(num_target_axes, mode, name)
 
     def get_constant_arg_decl(self, name, shape, dtype, is_written):
         from loopy.codegen import POD  # uses the correct complex type