The primitive splitting code is totally broken and will be rewritten. Fix the most important bug now though.