diff --git a/src/main/java/de/hhu/stups/codegenerator/generators/DeclarationGenerator.java b/src/main/java/de/hhu/stups/codegenerator/generators/DeclarationGenerator.java
index c12e28eaca4d3f9d05c3d19b409f9be12792b11a..807f0a584f2fd4ae3ecdb24f1dce5946c162cc68 100644
--- a/src/main/java/de/hhu/stups/codegenerator/generators/DeclarationGenerator.java
+++ b/src/main/java/de/hhu/stups/codegenerator/generators/DeclarationGenerator.java
@@ -8,6 +8,7 @@ import de.prob.parser.ast.nodes.DeclarationNode;
 import de.prob.parser.ast.nodes.EnumeratedSetDeclarationNode;
 import de.prob.parser.ast.nodes.MachineNode;
 import de.prob.parser.ast.nodes.MachineReferenceNode;
+import de.prob.parser.ast.nodes.OperationNode;
 import de.prob.parser.ast.types.CoupleType;
 import de.prob.parser.ast.types.SetType;
 import org.stringtemplate.v4.ST;
@@ -144,6 +145,11 @@ public class DeclarationGenerator {
         ST declaration = currentGroup.getInstanceOf("include_declaration");
         String machine = reference.getMachineName();
         String referenceName = reference.getPrefix() != null ? reference.getPrefix() : reference.getMachineName();
+        boolean hasExternals = reference.getMachineNode().getOperations()
+                .stream()
+                .map(OperationNode::getName)
+                .anyMatch(op -> op.startsWith("EXTERNAL_"));
+        TemplateHandler.add(declaration, "hasExternals", hasExternals);
         TemplateHandler.add(declaration, "type", nameHandler.handle(machine));
         TemplateHandler.add(declaration, "identifier", nameHandler.handleIdentifier(referenceName, NameHandler.IdentifierHandlingEnum.MACHINES));
         return declaration.render();
diff --git a/src/main/resources/de/hhu/stups/codegenerator/JavaTemplate.stg b/src/main/resources/de/hhu/stups/codegenerator/JavaTemplate.stg
index c140af61ea1ea8df78bb3d3a723afe243ebacb76..c1a28afcb5d75dabc98bc788ad1a37aeddc6a8c3 100644
--- a/src/main/resources/de/hhu/stups/codegenerator/JavaTemplate.stg
+++ b/src/main/resources/de/hhu/stups/codegenerator/JavaTemplate.stg
@@ -590,8 +590,12 @@ bool() ::= <<
 BUtils.BOOL
 >>
 
-include_declaration(type, identifier) ::= <<
+include_declaration(hasExternals, type, identifier) ::= <<
+<if(hasExternals)>
+private <declaration(type, identifier)> = new <type>(new <type>_EXTERNALS());
+<else>
 private <declaration(type, identifier)> = new <type>();
+<endif>
 >>
 
 global_declaration(type, identifier) ::= <<