diff --git a/src/main/java/de/monticore/lang/monticar/cnnarch/gluongenerator/CNNTrain2Gluon.java b/src/main/java/de/monticore/lang/monticar/cnnarch/gluongenerator/CNNTrain2Gluon.java
index 86845b9f52a31d343c9f3e8fc2c5c86ea8744b67..572afce5ad9397f11d3a38b8b9a94b16004725fc 100644
--- a/src/main/java/de/monticore/lang/monticar/cnnarch/gluongenerator/CNNTrain2Gluon.java
+++ b/src/main/java/de/monticore/lang/monticar/cnnarch/gluongenerator/CNNTrain2Gluon.java
@@ -133,7 +133,6 @@ public class CNNTrain2Gluon extends CNNTrainGenerator {
                             "actor-critic algorithm");
                 }
                 NNArchitectureSymbol genericArchitectureSymbol = configuration.getCriticNetwork().get();
-                final String criticComponentName = genericArchitectureSymbol.getName().replace('.', '_');
                 ArchitectureSymbol architectureSymbol
                         = ((ArchitectureAdapter)genericArchitectureSymbol).getArchitectureSymbol();
 
@@ -144,11 +143,16 @@ public class CNNTrain2Gluon extends CNNTrainGenerator {
                         = gluonGenerator.generateStringsAllowMultipleIO(architectureSymbol, true);
 
 
+                final String creatorName = architectureFileContentMap.keySet().iterator().next();
+                final String criticInstanceName = creatorName.substring(
+                        creatorName.indexOf('_') + 1, creatorName.lastIndexOf(".py"));
+
                 fileContentMap.putAll(architectureFileContentMap.entrySet().stream().collect(Collectors.toMap(
                             k -> REINFORCEMENT_LEARNING_FRAMEWORK_MODULE + "/" + k.getKey(),
                             Map.Entry::getValue))
                 );
-                ftlContext.put("criticInstanceName", criticComponentName);
+
+                ftlContext.put("criticInstanceName", criticInstanceName);
             }
 
             ftlContext.put("trainerName", trainerName);