Investigators said a 13-year-old boy reported to his father that he thought he saw someone snap a picture from underneath a partition in a bathroom.
The father found an off-duty Raleigh police officer who contacted on-duty officers.
Michael Lynn Worley was detained and taken to the Wake County jail. Bond was set at $25,000.
Johnston County school officials confirmed Worley worked as a substitute at Corinth Holders High this year.