Index: src/CodeGen/CodeGenerator.cc
===================================================================
--- src/CodeGen/CodeGenerator.cc	(revision 5684736fd985e020109cb45c53aa88513ff724e3)
+++ src/CodeGen/CodeGenerator.cc	(revision 4e5e6cc70090e807822b56cfc8f3dc1ddaae698e)
@@ -116,6 +116,6 @@
 	}
 
-	CodeGenerator::CodeGenerator( std::ostream & os, bool pretty, bool genC, bool lineMarks, bool printExprTypes ) : indent( CodeGenerator::tabsize ), output( os ), printLabels( *this ), options( pretty, genC, lineMarks, printExprTypes ), endl( *this ) {}
-	CodeGenerator::CodeGenerator( std::ostream & os, const Options &options ) : indent( CodeGenerator::tabsize ), output( os ), printLabels( *this ), options(options), endl( *this ) {}
+	CodeGenerator::CodeGenerator( std::ostream & os, bool pretty, bool genC, bool lineMarks, bool printExprTypes ) : indent( 0, CodeGenerator::tabsize ), output( os ), printLabels( *this ), options( pretty, genC, lineMarks, printExprTypes ), endl( *this ) {}
+	CodeGenerator::CodeGenerator( std::ostream & os, const Options &options ) : indent( 0, CodeGenerator::tabsize ), output( os ), printLabels( *this ), options(options), endl( *this ) {}
 
 	string CodeGenerator::mangleName( DeclarationWithType * decl ) {
Index: src/Common/Indenter.h
===================================================================
--- src/Common/Indenter.h	(revision 5684736fd985e020109cb45c53aa88513ff724e3)
+++ src/Common/Indenter.h	(revision 4e5e6cc70090e807822b56cfc8f3dc1ddaae698e)
@@ -23,9 +23,9 @@
 	unsigned int amt;         ///< spaces in one level of indentation
 
-	Indenter( unsigned int indent = 0, unsigned int amt = tabsize ) 
-	: indent( indent*amt ), amt( amt ) {}
-	
-	Indenter & operator+=(int nlevels) { indent += amt*nlevels; return *this; }
-	Indenter & operator-=(int nlevels) { indent -= amt*nlevels; return *this; }
+	Indenter( unsigned int indent = 0, unsigned int amt = tabsize )
+	: indent( indent ), amt( amt ) {}
+
+	Indenter & operator+=(int nlevels) { indent += nlevels; return *this; }
+	Indenter & operator-=(int nlevels) { indent -= nlevels; return *this; }
 	Indenter operator+(int nlevels) { Indenter indenter = *this; return indenter += nlevels; }
 	Indenter operator-(int nlevels) { Indenter indenter = *this; return indenter -= nlevels; }
@@ -35,5 +35,5 @@
 
 inline std::ostream & operator<<( std::ostream & out, const Indenter & indent ) {
-	return out << std::string(indent.indent, ' ');
+	return out << std::string(indent.indent * indent.amt, ' ');
 }
 
Index: src/InitTweak/FixInit.cc
===================================================================
--- src/InitTweak/FixInit.cc	(revision 5684736fd985e020109cb45c53aa88513ff724e3)
+++ src/InitTweak/FixInit.cc	(revision 4e5e6cc70090e807822b56cfc8f3dc1ddaae698e)
@@ -301,12 +301,5 @@
 				replacement = new CastExpr( replacement, base->clone() );
 			}
-			size_t replaced = DeclReplacer::replace( dtor, { std::make_pair( objDecl, replacement ) } );
-			if(replaced == 0) {
-				objDecl->print(std::cerr);
-				std::cerr << "-----" << std::endl;
-				dtor->print(std::cerr);
-				std::cerr << "Failed to replace " << objDecl << std::endl;
-				abort();
-			}
+			DeclReplacer::replace( dtor, { std::make_pair( objDecl, replacement ) } );
 			dtorFunc->statements->push_back( strict_dynamic_cast<Statement *>( dtor ) );
 
