--- valasvn/gobject/valaccodearraycreationexpressionbinding.vala	2008-07-22 13:34:37.000000000 +0200
+++ vala/gobject/valaccodearraycreationexpressionbinding.vala	2008-07-22 13:43:13.000000000 +0200
@@ -57,11 +57,6 @@ public class Vala.CCodeArrayCreationExpr
 				csize = new CCodeParenthesizedExpression (new CCodeAssignment (name_cnode, csize));
 			}
 
-			if (expr.element_type.data_type != null && expr.element_type.data_type.is_reference_type ()) {
-				// add extra item to have array NULL-terminated for all reference types
-				csize = new CCodeBinaryExpression (CCodeBinaryOperator.PLUS, csize, new CCodeConstant ("1"));
-			}
-
 			if (first) {
 				cexpr = csize;
 				first = false;
@@ -69,6 +64,12 @@ public class Vala.CCodeArrayCreationExpr
 				cexpr = new CCodeBinaryExpression (CCodeBinaryOperator.MUL, cexpr, csize);
 			}
 		}
+		
+		if (expr.element_type.data_type != null && expr.element_type.data_type.is_reference_type ()) {
+			// add extra item to have array NULL-terminated for all reference types
+			cexpr = new CCodeBinaryExpression (CCodeBinaryOperator.PLUS, cexpr, new CCodeConstant ("1"));
+		}
+		
 		gnew.add_argument (cexpr);
 
 		if (expr.initializer_list != null) {
