deal with mapid = -1 better