An `exec` that can't execute the supplied command seems to cause the status of job control to become reset to the default state:
$ bash -O execfail -mc 'echo $-; exec xxx; echo $-' hmBc bash: line 0: exec: xxx: not found hBc $ set +m; echo $- hiBHs $ exec xxx bash: exec: xxx: not found $ echo $- himBHs