diff --git a/loopy/kernel/array.py b/loopy/kernel/array.py
index ee14042d11263b6711b022fc546e7d1979f0da6b..233d1a0f7c6ef589c57ae57a5883da5ee6c0b4ad 100644
--- a/loopy/kernel/array.py
+++ b/loopy/kernel/array.py
@@ -342,6 +342,14 @@ def parse_array_dim_tags(dim_tags, use_increasing_target_axes=False):
                             for nl in ta_nesting_levels),
                         target_axis))
 
+        ta_nesting_level_increment = -min(ta_nesting_levels)
+        for i in range(len(result)):
+            if (isinstance(result[i], _StrideArrayDimTagBase)
+                    and result[i].target_axis == target_axis):
+                result[i] = result[i].copy(
+                        layout_nesting_level=result[i].layout_nesting_level
+                        + ta_nesting_level_increment)
+
     # }}}
 
     return result