Amazing, thanks for getting back to me so quick - and with a fix too!
I'm usually generating the dtm from a re-sample (bilinear) of 1m LIDAR. I was wondering if this might be introducing weird values and tried with a 'nearest' re-sample but that didn't help either. If I have similar issues again, shall I try converting the dtm to integer rather than floating point?
I'll compare my original text file with the one you sent through and try to see which value was causing the issue.
Many thanks again,
James