diff --git a/sumpy/codegen.py b/sumpy/codegen.py
index 3b19fcb9ef7c821399cc3cf830cb8fe198625c6d..c4857fca0643f8106de1e3e9d4a8421dafa32e2d 100644
--- a/sumpy/codegen.py
+++ b/sumpy/codegen.py
@@ -290,7 +290,8 @@ class BesselDerivativeReplacer(CSECachingIdentityMapper, CallExternalRecMapper):
                     2**(-k)*sum(
                         (-1)**idx*int(sym.binomial(k, idx)) * function(i, arg)
                         for idx, i in enumerate(range(order-k, order+k+1, 2))),
-                    f"d{n_derivs}_{function.name}_{order_str}")
+                    f"d{n_derivs}_{function.name}_{order_str}",
+                    scope=prim.cse_scope.EVALUATION)
         else:
             return CSECachingIdentityMapper.map_call(
                     rec_self or self, expr, rec_self, *args)
diff --git a/sumpy/kernel.py b/sumpy/kernel.py
index 6c50350b396fe82bde8ddbedd84e781db6e0901a..76027809370555f17467e6f7ef113033c010fa9a 100644
--- a/sumpy/kernel.py
+++ b/sumpy/kernel.py
@@ -1077,11 +1077,12 @@ class _VectorIndexAdder(CSECachingMapperMixin, IdentityMapper):
         self.additional_indices = additional_indices
 
     def map_subscript(self, expr):
-        from pymbolic.primitives import CommonSubexpression
+        from pymbolic.primitives import CommonSubexpression, cse_scope
         if expr.aggregate.name == self.vec_name \
                 and isinstance(expr.index, int):
-            return CommonSubexpression(expr.aggregate.index(
-                    (expr.index,) + self.additional_indices))
+            return CommonSubexpression(
+                    expr.aggregate.index((expr.index,) + self.additional_indices),
+                    prefix=None, scope=cse_scope.EVALUATION)
         else:
             return IdentityMapper.map_subscript(self, expr)