diff --git a/src/main/java/de/tla2bAst/BAstCreator.java b/src/main/java/de/tla2bAst/BAstCreator.java
index c88eaa6fa8fc4a3fb72d5132d931f89347f150db..032a348afc14bcb4f023532bd6d2807677bd2515 100644
--- a/src/main/java/de/tla2bAst/BAstCreator.java
+++ b/src/main/java/de/tla2bAst/BAstCreator.java
@@ -997,15 +997,15 @@ public class BAstCreator extends BuiltInOPs implements TranslationGlobals, BBuil
 			}
 
 			case B_OPCODE_setsum: {
-				AGeneralSumExpression sum = new AGeneralSumExpression();
-				String variableName = "t_"; // TODO unused identifier name
-				sum.setIdentifiers(Collections.singletonList(createIdentifierNode(variableName)));
-				AMemberPredicate memberPredicate = new AMemberPredicate();
-				memberPredicate.setLeft(createIdentifierNode(variableName));
-				memberPredicate.setRight(visitExprOrOpArgNodeExpression(opApplNode.getArgs()[0]));
-				sum.setPredicates(memberPredicate);
-				sum.setExpression(createIdentifierNode(variableName));
-				returnNode = sum;
+				AIdentifierExpression variable = createIdentifierNode("t_"); // TODO unused identifier name
+				returnNode = new AGeneralSumExpression(
+						Collections.singletonList(variable.clone()),
+						new AMemberPredicate(
+								variable.clone(),
+								visitExprOrOpArgNodeExpression(opApplNode.getArgs()[0])
+						),
+						variable.clone()
+				);
 				break;
 			}