Index: vbnc/source/Members/ArrayElementInitializer.vb
===================================================================
--- vbnc/source/Members/ArrayElementInitializer.vb	(revision 66971)
+++ vbnc/source/Members/ArrayElementInitializer.vb	(working copy)
@@ -61,18 +61,24 @@
             Dim expInfo As ExpressionResolveInfo = TryCast(Info, ExpressionResolveInfo)
             Dim elementInfo As ResolveInfo
             If expInfo IsNot Nothing Then
-                elementInfo = New ExpressionResolveInfo(expInfo.LHSType.GetElementType)
                 Helper.Assert(expInfo.LHSType.GetElementType IsNot Nothing)
                 Helper.Assert(expInfo.LHSType.IsArray)
+                If expInfo.LHSType isnot nothing andalso expInfo.LHSType.GetArrayRank > 1 Then
+                    Dim newArrayRank As Integer = expInfo.LHSType.GetArrayRank - 1
+                    Dim elementType As System.Type = expInfo.LHSType.GetElementType.MakeArrayType(newArrayRank)
+                    elementInfo = New ExpressionResolveInfo(elementType)
+                Else
+                    elementInfo = New ExpressionResolveInfo(expInfo.LHSType.GetElementType)
+                End If
             Else
                 Helper.StopIfDebugging(True)
                 elementInfo = Info
             End If
 
-            Helper.Assert(expInfo Is Nothing OrElse DirectCast(elementInfo, ExpressionResolveInfo).LHSType IsNot Nothing)
+                Helper.Assert(expInfo Is Nothing OrElse DirectCast(elementInfo, ExpressionResolveInfo).LHSType IsNot Nothing)
 
-            result = m_VariableInitializerList.ResolveCode(elementInfo) AndAlso result
-        End If
+                result = m_VariableInitializerList.ResolveCode(elementInfo) AndAlso result
+            End If
         result = SetElements() AndAlso result
 
         Compiler.Helper.AddCheck("Array element initializers must all have the same number of elements / ranks.")
