diff --git a/loopy/codegen/result.py b/loopy/codegen/result.py
index 4318ad71c1b16deeaac98f8408d5ca82f2de1714..00f19d99afa7119f35b188492646669f71b850d1 100644
--- a/loopy/codegen/result.py
+++ b/loopy/codegen/result.py
@@ -133,7 +133,7 @@ class CodeGenerationResult(ImmutableRecord):
         preamble_codes = process_preambles(
                 getattr(self, "host_preambles", [])
                 +
-                getattr(self, "device_preambles", [])
+                list(getattr(self, "device_preambles", []))
                 )
 
         return (
diff --git a/loopy/kernel/tools.py b/loopy/kernel/tools.py
index c866c9c6a652a3d17e7dbbb15812e5f6dd3c365b..8e238badb8cb9dbd2df270c56c28e6b923732f53 100644
--- a/loopy/kernel/tools.py
+++ b/loopy/kernel/tools.py
@@ -1906,8 +1906,8 @@ def get_direct_callee_kernels(kernel, program_callables_info, insn_ids=None,):
 
         return None
 
-    return frozenset([_get_callee_kernel_if_insn_has_callable_kernel(id)
-            for id in insn_ids]) - frozenset([None])
+    return frozenset([_get_callee_kernel_if_insn_has_callable_kernel(insn_id)
+            for insn_id in insn_ids]) - frozenset([None])
 
 # }}}
 
diff --git a/loopy/target/cuda.py b/loopy/target/cuda.py
index fe576cdcad58caa2b077f78923073732c305de2a..89cbfd034e6dfdddebd8811f3e2620c90cc285ad 100644
--- a/loopy/target/cuda.py
+++ b/loopy/target/cuda.py
@@ -302,7 +302,8 @@ class CUDACASTBuilder(CASTBuilder):
         _, local_grid_size = \
                 codegen_state.kernel.get_grid_sizes_for_insn_ids_as_exprs(
                         get_insn_ids_for_block_at(
-                            codegen_state.kernel.schedule, schedule_index))
+                            codegen_state.kernel.schedule, schedule_index),
+                        codegen_state.program_callables_info)
 
         from loopy.symbolic import get_dependencies
         if not get_dependencies(local_grid_size):
diff --git a/loopy/target/python.py b/loopy/target/python.py
index b7a83d25b720663b4c34190be3b9e3afea6b16bb..cd6e611673754034238fbc6e8775c43eb3c4c2f4 100644
--- a/loopy/target/python.py
+++ b/loopy/target/python.py
@@ -85,14 +85,16 @@ class ExpressionToPythonMapper(StringifyMapper):
     def map_call(self, expr, enclosing_prec):
         from pymbolic.mapper.stringifier import PREC_NONE
 
-        identifier_name = self.kernel.scoped_functions[expr.function.name].name
+        identifier_name = self.codegen_state.program_callables_info[
+                expr.function.name].name
 
         if identifier_name in ["indexof", "indexof_vec"]:
             raise LoopyError(
                     "indexof, indexof_vec not yet supported in Python")
 
         from loopy.kernel.function_interface import ManglerCallable
-        in_knl_callable = self.kernel.scoped_functions[expr.function.name]
+        in_knl_callable = self.codegen_state.program_callables_info[
+                expr.function.name]
         if isinstance(in_knl_callable, ManglerCallable):
             from loopy.codegen import SeenFunction
             mangle_result = in_knl_callable.mangle_result(self.kernel)