diff --git a/loopy/codegen/loop.py b/loopy/codegen/loop.py
index 3d81a5d6a29f181f2f1f0f43a4787c15bce14ed1..c1bc4b091373b1e6e8588d93c7d6100aee63cc7b 100644
--- a/loopy/codegen/loop.py
+++ b/loopy/codegen/loop.py
@@ -188,8 +188,11 @@ def set_up_hw_parallel_loops(kernel, sched_index, codegen_state, hw_inames_left=
     bounds = kernel.get_iname_bounds(iname)
 
     from loopy.isl_helpers import make_slab
+    from loopy.isl_helpers import static_value_of_pw_aff
+    lower_bound = static_value_of_pw_aff(bounds.lower_bound_pw_aff,
+            constants_only=False)
     slab = make_slab(kernel.space, iname,
-            bounds.lower_bound_pw_aff, bounds.lower_bound_pw_aff+hw_axis_size)
+            lower_bound, lower_bound+hw_axis_size)
     codegen_state = codegen_state.intersect(slab)
 
     # }}}