The 21-year-old made seven appearances for Northampton after joining the club in February but he was recalled by Millwall two weeks ago.
He appeared for the Lions at Leeds last weekend but will now see out the campaign at Sixfields.
"We're delighted to have John back," Cobblers boss Chris Wilder told the club's official website.
"He gives us a physical presence at the top of the pitch and we were disappointed when he had to go back to play in the Championship.
"I thank Millwall for letting him come back and I'm sure he will help us in the next seven games."