diff --git a/pymbolic/primitives.py b/pymbolic/primitives.py
index b68fa1423e736ad767cd85b15d6266c3f3b828fe..7ce00e26c8179317bb7d38ea9d0ab9b046d531b5 100644
--- a/pymbolic/primitives.py
+++ b/pymbolic/primitives.py
@@ -876,7 +876,7 @@ def is_zero(value):
 
 
 def wrap_in_cse(expr, prefix=None):
-    if isinstance(expr, Variable):
+    if isinstance(expr, (Variable, Subscript)):
         return expr
 
     if isinstance(expr, CommonSubexpression):