Sorry for being stupid, but I run the diff in the wrong direction; his patch was absolutely correct. Martin
(1L << feature)' instead of