Fix a bug in union