diff --git a/loopy/check.py b/loopy/check.py
index fb52b8f15b635ef3eca9279e72643a5f51019091..8eb853035d0460a14b1d868ad07dda8a7cf46c0f 100644
--- a/loopy/check.py
+++ b/loopy/check.py
@@ -8,8 +8,10 @@ from __future__ import division
 def check_for_unused_hw_axes_in_insns(kernel):
     group_size, local_size = kernel.get_grid_sizes_as_exprs()
 
-    group_axes = set(ax for ax, length in enumerate(group_size) if length != 1)
-    local_axes = set(ax for ax, length in enumerate(local_size) if length != 1)
+    group_axes = set(ax for ax, length in enumerate(group_size))
+    local_axes = set(ax for ax, length in enumerate(local_size))
+
+    # alternative: just disregard length-1 dimensions?
 
     from loopy.kernel import LocalIndexTag, AutoLocalIndexTagBase, GroupIndexTag
     for insn in kernel.instructions:
diff --git a/loopy/kernel.py b/loopy/kernel.py
index d6b32c6643ac509ec6498c3e4b03ffd7417b4f99..25efd65cc36c7d2718a251da5b60ace57c1c5147 100644
--- a/loopy/kernel.py
+++ b/loopy/kernel.py
@@ -844,8 +844,7 @@ class LoopKernel(Record):
 
                 while cur_axis > len(size_list):
                     from loopy import LoopyAdvisory
-                    from warnings import warn
-                    warn("%s axis %d unassigned--assuming length 1" % (
+                    raise RuntimeError("%s axis %d unused" % (
                         which, len(size_list)), LoopyAdvisory)
                     size_list.append(zero_aff + 1)