Index: src/ResolvExpr/AdjustExprType.cc
===================================================================
--- src/ResolvExpr/AdjustExprType.cc	(revision 6066e328df36016d92579b272106333536cfe7a5)
+++ src/ResolvExpr/AdjustExprType.cc	(revision 834d4fc488a7e141443f7b9d7f3f966648fdf1fd)
@@ -5,5 +5,5 @@
 // file "LICENCE" distributed with Cforall.
 //
-// AdjustExprType.cc -- 
+// AdjustExprType.cc --
 //
 // Author           : Richard C. Bilson
@@ -12,5 +12,5 @@
 // Last Modified On : Wed Mar  2 17:34:53 2016
 // Update Count     : 4
-// 
+//
 
 #include "typeops.h"
@@ -65,5 +65,6 @@
 
 	Type *AdjustExprType::mutate( ArrayType *arrayType ) {
-		PointerType *pointerType = new PointerType( arrayType->get_qualifiers(), arrayType->get_base()->clone() );
+		// need to recursively mutate the base type in order for multi-dimensional arrays to work.
+		PointerType *pointerType = new PointerType( arrayType->get_qualifiers(), arrayType->get_base()->clone()->acceptMutator( *this ) );
 		delete arrayType;
 		return pointerType;
