Index: src/SymTab/Indexer.cc
===================================================================
--- src/SymTab/Indexer.cc	(revision fc638d2176b72a88b406e73af7f7f9e548ae05f7)
+++ src/SymTab/Indexer.cc	(revision d5556a3ceec1d963a2e9c0fccbfe2ff51b6eb263)
@@ -40,4 +40,10 @@
 
 namespace SymTab {
+	struct NewScope {
+		NewScope( SymTab::Indexer & indexer ) : indexer( indexer ) { indexer.enterScope(); }
+		~NewScope() { indexer.leaveScope(); }
+		SymTab::Indexer & indexer;
+	};
+
 	template< typename TreeType, typename VisitorType >
 	inline void acceptNewScope( TreeType *tree, VisitorType &visitor ) {
@@ -454,8 +460,5 @@
 	void Indexer::visit( TupleAssignExpr *tupleExpr ) {
 		acceptNewScope( tupleExpr->get_result(), *this );
-		enterScope();
-		acceptAll( tupleExpr->get_tempDecls(), *this );
-		acceptAll( tupleExpr->get_assigns(), *this );
-		leaveScope();
+		maybeAccept( tupleExpr->get_stmtExpr(), *this );
 	}
 
