diff --git a/loopy/schedule/device_mapping.py b/loopy/schedule/device_mapping.py
index 9977417198b8e3c7b1069716b02ac74410400df1..e1b308cc4f6d247dd2dce786cbb990ac4a3f4907 100644
--- a/loopy/schedule/device_mapping.py
+++ b/loopy/schedule/device_mapping.py
@@ -566,7 +566,7 @@ def restore_and_save_temporaries(kernel):
             for tval in tvals:
                 from loopy.kernel.tools import DomainChanger
                 tval_hw_inames = new_temporaries[tval].hw_inames
-                dchg = DomainChanger(kernel,
+                dchg = DomainChanger(new_kernel,
                     frozenset(sched_item.extra_inames + tval_hw_inames))
                 domain = dchg.domain