Negacyclic property check in the function "checkInputFunction"

static uint32_t checkInputFunction(…) (in binfhe-base-scheme.h) basically checks lut[i] = (mod - lut[mid + i]) which is identical to check whether lut[i] + lut[mid + i] = mod. That is for checking whether the 1st half of LUT is negative of the 2nd half. However, a zero (0) in LUT always breaks negacyclic propery even if m=0 (mod m). For instance:
[0,1,0,3] (mod 4) is not negacyclic w.r.t. checkInputFunction (since 0+0 != 4)
Is this behaviour correct or does it need to be fixed?