Index: src/InitTweak/FixInit.cc
===================================================================
--- src/InitTweak/FixInit.cc	(revision f30b2610e50e4c5af78040998488419804fc2066)
+++ src/InitTweak/FixInit.cc	(revision e41306d1158c688f3f9db759c420884ce67512f4)
@@ -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 {
