fix nasty call order bug