Index: src/ControlStruct/ExceptTranslate.cc
===================================================================
--- src/ControlStruct/ExceptTranslate.cc	(revision 66ba5445d7dfa223fb99f5b364fc52a69d9676e1)
+++ src/ControlStruct/ExceptTranslate.cc	(revision f4530d70eb27cd28e4366ba6e7e3e1d22efa1808)
@@ -107,8 +107,5 @@
 			nameOf( terminate_handler_except ),
 			new ConstantExpr( Constant::null(
-				//new PointerType(
-				//	noQualifiers,
-					terminate_handler_except->get_type()->clone()
-				//	)
+				terminate_handler_except->get_type()->clone()
 				) )
 			) ) );
@@ -232,5 +229,4 @@
 
 		void premutate( StructDecl *structDecl );
-		Statement * postmutate( ThrowStmt *throwStmt );
 		Statement * postmutate( TryStmt *tryStmt );
 	};
@@ -621,9 +617,4 @@
 	}
 
-	Statement * TryMutatorCore::postmutate( ThrowStmt * ) {
-		// All throws should be removed by this point.
-		assert( false );
-	}
-
 	Statement * TryMutatorCore::postmutate( TryStmt *tryStmt ) {
 		assert( except_decl );
Index: src/ControlStruct/ExceptTranslate.h
===================================================================
--- src/ControlStruct/ExceptTranslate.h	(revision 66ba5445d7dfa223fb99f5b364fc52a69d9676e1)
+++ src/ControlStruct/ExceptTranslate.h	(revision f4530d70eb27cd28e4366ba6e7e3e1d22efa1808)
@@ -29,5 +29,5 @@
 	/* Replaces all try blocks (and their many clauses) with function definitions and calls.
 	 * This uses the exception built-ins to produce typed output and should take place after
-	 * the resolver.
+	 * the resolver. It also produces virtual casts and should happen before they are expanded.
 	 */
 }
