diff --git a/src/Boo.Lang.Compiler/Steps/EmitAssembly.cs b/src/Boo.Lang.Compiler/Steps/EmitAssembly.cs
index 1fb4ff6..059932e 100755
--- a/src/Boo.Lang.Compiler/Steps/EmitAssembly.cs
+++ b/src/Boo.Lang.Compiler/Steps/EmitAssembly.cs
@@ -3908,12 +3908,15 @@ namespace Boo.Lang.Compiler.Steps
 		{
 			return (ConstructorBuilder)_builders[method];
 		}
-		
+
 		LocalBuilder GetLocalBuilder(Node local)
 		{
+			//HACK:  exception.Declaration is not visited by EmitAssembly when
+			//       the method is a generator. Ensure it is then.
+			EnsureRelatedNodeWasVisited(local, GetInternalLocal(local));
 			return GetInternalLocal(local).LocalBuilder;
 		}
-		
+
 		PropertyInfo GetPropertyInfo(IEntity tag)
 		{
 			ExternalProperty external = tag as ExternalProperty;

