maintaining consistency

between HasCause and HasMessage