diff --git a/loopy/schedule.py b/loopy/schedule.py
index c1f1a4ed3e3219b025b01a97e9f5a60d4b24faa0..51deacefd509f4a1cb4475ea258c785f5f86be49 100644
--- a/loopy/schedule.py
+++ b/loopy/schedule.py
@@ -186,7 +186,10 @@ def loop_nest_map(kernel):
     from loopy.kernel.data import IlpBaseTag
     for inner_iname in all_inames:
         result[inner_iname] = set()
-        for outer_iname in kernel.all_inames():
+        for outer_iname in all_inames:
+            if inner_iname == outer_iname:
+                continue
+
             tag = kernel.iname_to_tag.get(outer_iname)
             if isinstance(tag, IlpBaseTag):
                 # ILP tags are special because they are parallel tags
@@ -201,7 +204,7 @@ def loop_nest_map(kernel):
 
     for dom_idx, dom in enumerate(kernel.domains):
         for outer_iname in dom.get_var_names(isl.dim_type.param):
-            if outer_iname not in kernel.all_inames():
+            if outer_iname not in all_inames:
                 continue
 
             for inner_iname in dom.get_var_names(isl.dim_type.set):