There was a bug in feature point handling. normals that were effectively parallel were not being picked up as being parallel, so a tolerance has been added as a static const.