Thanks to all who responded. I have added the -1 to the relevant locations in the code. A quick test showed that split is now behaving itself. Appreciations also to those who attempted a workaround - after all - not all of us have enough of the manual engraved in our brain to know such obscure things as a -1 limit and what you don't know you cannot expect to find! In fact my colleagues had an incredulous laugh about the answer to this problem.