Escalation of commitment is common in many software projects. It stands for the situation where managers decide to continue investing in or supporting a prior decision despite new evidence suggesting the original outcome expectation will be missed. Escalation of commitment is generally considered to be irrational. Past literature has proposed several theories to explain the behaviour. Two commonly used interpretations are self-justification and the framing effect. While both theories have been found effective in causing the escalation of commitment, their relative effect is less studied. The purpose of this study is to further investigate the primary factor that causes the escalation of commitment in software project related decisions. An experiment was designed to examine whether the escalation of commitment exists in different decision contingencies and which theories play a more important role in the escalation. One hundred and sixty two subjects participated in the experiment. The results indicate that both self-justification and problem framing have effects on commitment escalation in software projects but the effect of self-justification is stronger. Significant interaction effect is also found. A commitment is more likely to escalate if the problem is framed positively.