 					}
 					//------------------------------------
 					// END code to draw one label using labelColumn
-					//------------------------------------
+					//------------------------------------
+
+					// update min values for next loop iteration
+					if (_groupingMode != GROUP)
+					{
+						// the next bar starts on top of this bar
+						if (height >= 0)
+							yMin = yMax;
+						else
+							yNegativeMin = yNegativeMax;
+					}
 				}
 				//------------------------------------
 				// END code to draw one compound bar

					if (height >= 0)
					{
						//normalizing to 100% stack
						if (_groupingMode == PERCENT_STACK)
							yMax = yMin + (100 / totalHeight * height);
						else
							yMax = yMin + height;
					}
					else
					{
						if (_groupingMode == PERCENT_STACK)
							yNegativeMax = yNegativeMin + (100 / totalHeight * height);
						else
							yNegativeMax = yNegativeMin + height;

					totalHeight = totalHeight + h;
				}
				
				// loop over height columns, incrementing y coordinates
				for (var i:int = 0; i < _heightColumns.length; i++)
				{
