                 lastmr = mr;
                 var marginObject:Object = {};
                 verticalMargins[i] = marginObject;
+                var valign:* = ValuesManager.valuesImpl.getValue(child, "vertical-align");
+                marginObject.valign = valign;
                 if (!hostSizedToContent)
                 {
                     // if host is sized by parent,
                     // we can position and size children horizontally now
-                    setPositionAndHeight(child, top, mt, padding.top, bottom, mb, padding.bottom, h);
+                    setPositionAndHeight(child, top, mt, padding.top, bottom, mb, padding.bottom, h, valign);
                     maxHeight = Math.max(maxHeight, mt + child.height + mb);
                 }
                 else

                    maxHeight = Math.max(maxHeight, mt + child.height + mb);
                }
				xx = child.x + child.width;
				var valign:* = ValuesManager.valuesImpl.getValue(child, "vertical-align");
				marginObject.valign = valign;
			}
            if (hostSizedToContent)
            {

                    if (child == null || !child.visible) continue;
                    var obj:Object = verticalMargins[i];
                    setPositionAndHeight(child, obj.top, obj.marginTop, padding.top,
                        obj.bottom, obj.marginBottom, padding.bottom, maxHeight, obj.valign);
                }
            }
			
			// Only return true if the contentView needs to be larger; that new
			// size is stored in the model.
