Index: src/AST/Convert.cpp
===================================================================
--- src/AST/Convert.cpp	(revision 8d70648a1bc901be1455417052ead87a499b935b)
+++ src/AST/Convert.cpp	(revision a93589218b787f36ca9d02a420b5d7b54ed5fc68)
@@ -47,7 +47,9 @@
 namespace {
 
-// This is to preserve the SymTab::dereferenceOperator hack. It does not (and perhaps should not)
+// This is to preserve the FindSpecialDecls hack. It does not (and perhaps should not)
 // allow us to use the same stratagy in the new ast.
 ast::FunctionDecl * dereferenceOperator = nullptr;
+ast::StructDecl   * dtorStruct = nullptr;
+ast::FunctionDecl * dtorStructDestroy = nullptr;
 
 }
@@ -176,4 +178,7 @@
 			Validate::dereferenceOperator = decl;
 		}
+		if ( dtorStructDestroy == node ) {
+			Validate::dtorStructDestroy = decl;
+		}
 		return declWithTypePostamble( decl, node );
 	}
@@ -231,4 +236,9 @@
 			LinkageSpec::Spec( node->linkage.val )
 		);
+
+		if ( dtorStruct == node ) {
+			Validate::dtorStruct = decl;
+		}
+
 		return aggregatePostamble( decl, node );
 	}
@@ -1458,4 +1468,8 @@
 			dereferenceOperator = decl;
 		}
+
+		if ( Validate::dtorStructDestroy == old ) {
+			dtorStructDestroy = decl;
+		}
 	}
 
@@ -1479,4 +1493,8 @@
 
 		this->node = decl;
+
+		if ( Validate::dtorStruct == old ) {
+			dtorStruct = decl;
+		}
 	}
 
Index: src/Validate/FindSpecialDecls.cc
===================================================================
--- src/Validate/FindSpecialDecls.cc	(revision 8d70648a1bc901be1455417052ead87a499b935b)
+++ src/Validate/FindSpecialDecls.cc	(revision a93589218b787f36ca9d02a420b5d7b54ed5fc68)
@@ -26,7 +26,7 @@
 namespace Validate {
 	Type * SizeType = nullptr;
-  FunctionDecl * dereferenceOperator = nullptr;
-  StructDecl * dtorStruct = nullptr;
-  FunctionDecl * dtorStructDestroy = nullptr;
+	FunctionDecl * dereferenceOperator = nullptr;
+	StructDecl * dtorStruct = nullptr;
+	FunctionDecl * dtorStructDestroy = nullptr;
 
 	namespace {
