diff --git a/loopy/transform/precompute.py b/loopy/transform/precompute.py
index 5b208d0a43ef601411fa20bf7d23c942c686210e..6077332c4fc4322ac7ffb02ade4a0e24c7066245 100644
--- a/loopy/transform/precompute.py
+++ b/loopy/transform/precompute.py
@@ -684,7 +684,7 @@ def precompute(kernel, subst_use, sweep_inames=[], within=None,
         def add_assumptions(d):
             assumption_non_param = isl.BasicSet.from_params(kernel.assumptions)
             assumptions, domain = isl.align_two(assumption_non_param, d)
-            return d & assumptions
+            return assumptions & domain
 
         # {{{ check that we got the desired domain