 			{
 				var column:IAttributeColumn = _columns[i];
 				if (normalize.value)
-					output[i] = WeaveAPI.StatisticsCache.getColumnStatistics(column).getNorm(recordKey);
+					output[i] = (_stats[column] as IColumnStatistics).getNorm(recordKey);
 				else
 					output[i] = column.getValueFromKey(recordKey, Number);
 			}

				output.setYRange(NaN, NaN);
				for (var i:int = 0; i < _columns.length; i++)
				{
					var stats:IColumnStatistics = WeaveAPI.StatisticsCache.getColumnStatistics(_columns[i]);
					output.includeCoords(i, stats.getMin());
					output.includeCoords(i, stats.getMax());
				}

			// This will be cleaned up automatically when the column is disposed.
			var newColumn:IAttributeColumn = columns.childListCallbacks.lastObjectAdded as IAttributeColumn;
			if (newColumn)
			{
				_stats[newColumn] = WeaveAPI.StatisticsCache.getColumnStatistics(newColumn);
				registerLinkableChild(spatialCallbacks, _stats[newColumn]);
			}
			
			_columns = columns.getObjects();
			
