Jamey Kristian, who is 37, was arrested last month in Lethbridge, Alta.
He is accused of sexually assaulting a nine-year-old boy last summer and a second boy between June 2008 and July 2012.
Police say he was later charged with unsafe storage of firearms following a search of his home.
Kristian was employed as a teacher in the city for five years but is no longer in the classroom.
He is out on bail and is to appear in court March 19. (CJOC)