fix self dual bug