diff --git a/loopy/buffer.py b/loopy/buffer.py
index c64943f1441eeca3602ba7dae7934ccbca84d5ce..d155dba7e852e6a3978c3c92d4f4a7cba29bc4f0 100644
--- a/loopy/buffer.py
+++ b/loopy/buffer.py
@@ -337,11 +337,19 @@ def buffer_array(kernel, var_name, buffer_inames, init_expression=None,
 
     new_insns = []
 
+    def none_to_empty_set(s):
+        if s is None:
+            return frozenset()
+        else:
+            return s
+
     for insn in kernel.instructions:
         if insn.id in aar.modified_insn_ids:
             new_insns.append(
                     insn.copy(
-                        insn_deps=insn.insn_deps | frozenset([init_insn_id])))
+                        insn_deps=(
+                            none_to_empty_set(insn.insn_deps)
+                            | frozenset([init_insn_id]))))
         else:
             new_insns.append(insn)