diff --git a/loopy/codegen/__init__.py b/loopy/codegen/__init__.py
index 47f0b16a7d8e0ef57a6978d056daad9efafdfd2e..c3ca6c7a9898422382cd988f7fbd3236cf992a37 100644
--- a/loopy/codegen/__init__.py
+++ b/loopy/codegen/__init__.py
@@ -59,8 +59,9 @@ def gen_code_block(elements):
 
         elif isinstance(el, GeneratedInstruction):
             block_els.append(el.ast)
-            implemented_domains.setdefault(el.insn_id, []).append(
-                    el.implemented_domain)
+            if el.implemented_domain is not None:
+                implemented_domains.setdefault(el.insn_id, []).append(
+                        el.implemented_domain)
 
         else:
             raise ValueError("unrecognized object of type '%s' in block"