IF cell.Value is null THEN EVAL(ObjCell.NullDisplay) <==== for me this is a internal bug cell.Value = EVAL(ObjCell.ControlSource) IF cell.Value is null THEN EVAL(objCell.NullDisplay) <==== this is correct IF objCell.Alignment = Automatic dummyValue = cell.Value IF dummyValue IS NULL dummyValue = EVAL(objCell.NullDisplay) <==== for me this is a not optimized code ENDIF cell.Alignment = _computeAlign(dummyValue) ENDIFVFPT can remove the useless first line evaluation.