diff --git a/loopy/kernel/data.py b/loopy/kernel/data.py
index 66f26a6d95bf093624fc51822d84ac610c71c79b..a777f458452fe012c8f22226d4a756a03b3e8403 100644
--- a/loopy/kernel/data.py
+++ b/loopy/kernel/data.py
@@ -760,6 +760,14 @@ class ExpressionInstruction(InstructionBase):
         if isinstance(expression, str):
             assignee = parse(expression)
 
+        # FIXME: It may be worth it to enable this check eventually.
+        # For now, it causes grief with certain 'checky' uses of the
+        # with_transformed_expressions(). (notably the access checker)
+        #
+        # from pymbolic.primitives import Variable, Subscript
+        # if not isinstance(assignee, (Variable, Subscript)):
+        #     raise LoopyError("invalid lvalue '%s'" % assignee)
+
         self.assignee = assignee
         self.expression = expression
         self.temp_var_type = temp_var_type