diff --git a/loopy/target/c/__init__.py b/loopy/target/c/__init__.py
index dbd5ca28d1784f2ba8217838982c4fb22d09221e..822ee1838d5c0bf56eed98e9c3b36f34583ce033 100644
--- a/loopy/target/c/__init__.py
+++ b/loopy/target/c/__init__.py
@@ -247,8 +247,9 @@ class CTarget(TargetBase):
 
         for bs_name, bs_sizes in sorted(six.iteritems(base_storage_sizes)):
             bs_var_decl = Value("char", bs_name)
+            from pytools import single_valued
             bs_var_decl = self.wrap_temporary_decl(
-                    bs_var_decl, base_storage_to_scope[bs_name])
+                    bs_var_decl, single_valued(base_storage_to_scope[bs_name]))
             bs_var_decl = ArrayOf(bs_var_decl, max(bs_sizes))
 
             alignment = max(base_storage_to_align_bytes[bs_name])