diff --git a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/internal/atnmanager/ParserAtnManager.java b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/internal/atnmanager/ParserAtnManager.java
index 8b7c79e..9b74bcd 100644
--- a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/internal/atnmanager/ParserAtnManager.java
+++ b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/internal/atnmanager/ParserAtnManager.java
@@ -19,11 +19,8 @@
 package org.apache.groovy.parser.antlr4.internal.atnmanager;
 
 import org.antlr.v4.runtime.atn.ATN;
-import org.antlr.v4.runtime.atn.StarLoopEntryState;
 import org.apache.groovy.parser.antlr4.GroovyLangParser;
 
-import static org.apache.groovy.parser.antlr4.GroovyParser.RULE_nls;
-
 /**
  * Manage ATN for parser to avoid memory leak
  */
@@ -31,13 +28,6 @@
     private final AtnWrapper parserAtnWrapper = new AtnManager.AtnWrapper(GroovyLangParser._ATN);
     public static final ParserAtnManager INSTANCE = new ParserAtnManager();
 
-    static {
-        GroovyLangParser._ATN.states.stream()
-                .filter(e -> (e instanceof StarLoopEntryState) && (RULE_nls == ((StarLoopEntryState) e).ruleIndex))
-                .forEach(e -> ((StarLoopEntryState) e).sll = true);
-
-    }
-
     @Override
     public ATN getATN() {
         return parserAtnWrapper.checkAndClear();
