In the 4mer calculation: length := slength - 3 - for sequences with <4 bases, length is <=0 The check to stop did only catch <0, so sequences lengths 2 or less, leaving sequence lengths of 3 unguarded if length < 0 { return nil }