Index: src/InitTweak/FixInit.cc
===================================================================
--- src/InitTweak/FixInit.cc	(revision 1a5ad8ce487f1686045c73a490c9c2c86859213b)
+++ src/InitTweak/FixInit.cc	(revision 70529dcbfc2740360ecda85b0f7a217925925e77)
@@ -738,5 +738,8 @@
 						if ( ctorStmt && (ctorCall = isIntrinsicCallExpr( ctorStmt->expr )) && ctorCall->get_args().size() == 2 ) {
 							// clean up intrinsic copy constructor calls by making them into SingleInits
-							objDecl->init = new SingleInit( ctorCall->args.back() );
+							Expression * ctorArg = ctorCall->args.back();
+							std::swap( ctorArg->env, ctorCall->env );
+							objDecl->init = new SingleInit( ctorArg );
+
 							ctorCall->args.pop_back();
 						} else {
