diff --git a/mustache.js b/mustache.js index 8a50a78..8a9d85c 100644 --- a/mustache.js +++ b/mustache.js @@ -515,9 +515,10 @@ var Mustache = function() { return 'text'; case 'endSection': - var section = parserContext.stack.pop(); + var section = parserContext.stack[parserContext.stack.length-1]; if (--section.depth === 0) { if (section.key === key) { + parserContext.stack.pop(); this.commandSet.section.call(this, section.sectionType, section.content, key, @@ -533,8 +534,6 @@ var Mustache = function() { } else { section.content.push('{{', '/', key, '}}'); - parserContext.stack.push(section); - return 'endSectionScan'; } default: