Hmmm. This is something that will take some effort for you to dig into and debug. Offhand it sounds like you've got this correct. But, possibly a different variable than nt_rtm is being used in the restart mechanism and shouldn't be. So you'll need to dig into the code and understand how it's currently being done and hopefully you can see what's wrong. You might also need to do some debugging work where you run it in a debugger and/or add print statements to see values of important variables at restart.
Since, we don't change the number of tracers and always only run with 1 or 2, it's likely we've never seen this problem. It also might be that there are use of hardcoded integers of a "2" in the restart code that should use the nt_rtm variable.