Hi, Balu05-
Yes, you're absolutely right. I found out this issue resolvable by adding one line of conditional code. It triggers twice when a new, say lead, loaded and saved. Form onLoad adds "Xrm.Page.data.process.addOnStageSelected(stageSelectedEvent);"
once, and Form onSave adds "Xrm.Page.data.process.addOnStageSelected(stageSelectedEvent);" another time.
In order to avoid trigger it twice, add condition like the code below:
if (Xrm.Page.data.entity.getId() != null && Xrm.Page.data.entity.getId() != "")
{
Xrm.Page.data.process.addOnStageSelected(stageSelectedEvent);
Xrm.Page.data.process.addOnStageChange(stageChangeEvent);
}