Index: src/InitTweak/FixInitNew.cpp
===================================================================
--- src/InitTweak/FixInitNew.cpp	(revision e563edf0e794d4c67e735b589a1c95f7fce848f6)
+++ src/InitTweak/FixInitNew.cpp	(revision 8bb46d2a7a3c03f09935c6ab002dd8ed478259f0)
@@ -522,5 +522,4 @@
 	{
 		static UniqueName tempNamer("_tmp_cp");
-		assert( env );
 		const CodeLocation loc = impCpCtorExpr->location;
 		// CP_CTOR_PRINT( std::cerr << "Type Substitution: " << *env << std::endl; )
@@ -534,4 +533,5 @@
 
 		// xxx - this originally mutates arg->result in place. is it correct?
+		assert( env );
 		result = env->applyFree( result.get() ).node;
 		auto mutResult = result.get_and_mutate();
