Index: src/InitTweak/RemoveInit.cc
===================================================================
--- src/InitTweak/RemoveInit.cc	(revision 7a69460b3cf464e4f2984c2a443c935a47ab9b44)
+++ src/InitTweak/RemoveInit.cc	(revision 7eabc2591eb5260bf1b5a508a1d6153f617eae8a)
@@ -10,5 +10,5 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Rob Schluntz
-// Last Modified On : Mon Apr 04 17:18:03 2016
+// Last Modified On : Mon Apr 11 17:28:43 2016
 // Update Count     : 166
 //
@@ -95,5 +95,5 @@
 				// xxx this can be more complicated - consider ListInit
 				UntypedExpr *assign = new UntypedExpr( new NameExpr( "?{}" ) );
-				assign->get_args().push_back( new AddressExpr (new NameExpr( objDecl->get_name() ) ) );
+				assign->get_args().push_back( new AddressExpr( new VariableExpr( objDecl ) ) );
 				assign->get_args().push_back( single->get_value()->clone() );
 				stmtsToAddAfter.push_back(new ExprStmt(noLabels, assign));
@@ -108,5 +108,5 @@
 		// hands off if the function returns an lvalue - we don't want to allocate a temporary if a variable's address
 		// is being returned
-		if ( returnStmt->get_expr() && returnVals.size() == 1 && funcName != "?=?" && ! returnVals.front()->get_type()->get_isLvalue()  ) {
+		if ( returnStmt->get_expr() && returnVals.size() == 1 && funcName != "?=?" && ! returnVals.front()->get_type()->get_isLvalue() ) {
 			// ensure return value is not destructed by explicitly creating
 			// an empty SingleInit node wherein maybeConstruct is false
@@ -116,5 +116,5 @@
 			// and explicitly create the constructor expression separately
 			UntypedExpr *construct = new UntypedExpr( new NameExpr( "?{}" ) );
-			construct->get_args().push_back( new AddressExpr (new NameExpr( newObj->get_name() ) ) );
+			construct->get_args().push_back( new AddressExpr( new VariableExpr( newObj ) ) );
 			construct->get_args().push_back( returnStmt->get_expr() );
 			stmtsToAdd.push_back(new ExprStmt(noLabels, construct));
