diff --git a/loopy/transform/data.py b/loopy/transform/data.py
index f510af59873273486937ad01e8c3b9eba15aefda..64332637910340d68cb035d64ad6f4f643c0b5c9 100644
--- a/loopy/transform/data.py
+++ b/loopy/transform/data.py
@@ -346,8 +346,11 @@ def set_array_dim_names(kernel, ary_names, dim_names):
 def remove_unused_arguments(knl):
     new_args = []
 
+    import loopy as lp
+    exp_knl = lp.expand_subst(knl)
+
     refd_vars = set(knl.all_params())
-    for insn in knl.instructions:
+    for insn in exp_knl.instructions:
         refd_vars.update(insn.dependency_names())
 
     for arg in knl.args: