diff --git a/misc/toml-parser/src/main/java/io/ballerina/toml/internal/parser/AbstractLexer.java b/misc/toml-parser/src/main/java/io/ballerina/toml/internal/parser/AbstractLexer.java index 0f2e0b5a2089..481af21868da 100644 --- a/misc/toml-parser/src/main/java/io/ballerina/toml/internal/parser/AbstractLexer.java +++ b/misc/toml-parser/src/main/java/io/ballerina/toml/internal/parser/AbstractLexer.java @@ -99,8 +99,12 @@ public void switchMode(ParserMode mode) { * End the current mode the mode of the lexer and fall back the previous mode. */ public void endMode() { - this.modeStack.pop(); - this.mode = this.modeStack.peek(); + if (!this.modeStack.isEmpty()) { + this.modeStack.pop(); + if (!this.modeStack.isEmpty()) { + this.mode = this.modeStack.peek(); + } + } } private void resetDiagnosticList() {