diff --git a/arraycontext/impl/pytato.py b/arraycontext/impl/pytato.py
index beba602c64849b77414cf1f3c50ecde889bdbfb9..5291c9962fefa15480c13a7d4c7792bdec55b9c0 100644
--- a/arraycontext/impl/pytato.py
+++ b/arraycontext/impl/pytato.py
@@ -341,12 +341,12 @@ class PytatoArrayContext(ArrayContext):
                                       output_spec)
 
     def transform_loopy_program(self, prg):
-        from loopy.program import iterate_over_kernels_if_given_program
+        from loopy.translation_unit import for_each_kernel
 
         nwg = 48
         nwi = (16, 2)
 
-        @iterate_over_kernels_if_given_program
+        @for_each_kernel
         def gridify(knl):
             # {{{ Pattern matching inames
 
diff --git a/requirements.txt b/requirements.txt
index 066db9475d28e7168c4b7f9581771abca7ca86e5..b1beba77d9370fa0d5833eb9ddc0e7a22f708e89 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,7 +5,7 @@ git+https://github.com/inducer/pymbolic.git#egg=pymbolic
 git+https://github.com/inducer/pyopencl.git#egg=pyopencl
 git+https://github.com/inducer/islpy.git#egg=islpy
 
-git+https://github.com/inducer/loopy.git#egg=loopy
+git+https://github.com/inducer/loopy@kernel_callables_v3-edit2.git#egg=loopy
 git+https://github.com/kaushikcfd/pytato.git@call_loopy#egg=pytato
 
 git+https://github.com/inducer/meshmode.git#egg=meshmode