fix half-part bug