Don't forget you can assign template on the document level and on the node level (take a look at db structure). i.e. you can have a unique template per each language or just one template for all languages, in terms of sql 2 table are involved here :
-- cms_tree represent node information
select NodeTemplateID, NodeTemplateForAllCultures from cms_tree where NodeID = 1 // Node level
-- cms_document represents document information per language
select DocumentPageTemplateID from cms_Document where documentNodeID = 1 // Document level
So what template is gonna be used depends on NodeTemplateForAllCultures. If it is true then NodeTemplateID is used, false DocumentPageTemplateID is used.
So in C# terms you must set :
page.NodeTemplateForAllCultures
page.NodeTemplateID
page.DocumentPageTemplateID
I would assume you have one template for all languages then the code should be:
node.NodeTemplateID = ptiToUpdate.PageTemplateId;
node.NodeTemplateForAllCultures = true // just to be sure
In terms of interface NodeTemplateForAllCultures(true/false) are 2 last radio buttons: