diff --git a/src/main/java/kieker/analysis/stage/tracediagnosis/OperationCallAggregator.java b/src/main/java/kieker/analysis/stage/tracediagnosis/OperationCallAggregator.java
index abdeb19507ebd3d9be69a992c83e39f9afe1721c..3a35e4f5384d99714d9f590e6e8e531ac3545383 100644
--- a/src/main/java/kieker/analysis/stage/tracediagnosis/OperationCallAggregator.java
+++ b/src/main/java/kieker/analysis/stage/tracediagnosis/OperationCallAggregator.java
@@ -37,7 +37,7 @@ public final class OperationCallAggregator extends AbstractTransformation<Operat
 
 	@Override
 	protected void execute(final OperationCall call) {
-		final String key = call.getContainer() + "," + call.getComponent() + "," + call.getOperation() + ", " + call.getFailedCause();
+		final String key = call.getIdentifier();
 
 		if (!this.aggregationMap.containsKey(key)) {
 			final List<OperationCall> aggregationList = new ArrayList<>();
diff --git a/src/main/java/kieker/analysis/traceanalysisdomain/AbstractOperationCall.java b/src/main/java/kieker/analysis/traceanalysisdomain/AbstractOperationCall.java
index 28ea68403d68c9cf6ac177192d5b60fa1f589ee7..d5716dc9882deca1f8376496cf3802c53be9fdab 100644
--- a/src/main/java/kieker/analysis/traceanalysisdomain/AbstractOperationCall.java
+++ b/src/main/java/kieker/analysis/traceanalysisdomain/AbstractOperationCall.java
@@ -39,6 +39,8 @@ public abstract class AbstractOperationCall<T extends AbstractOperationCall<T>>
 	private final String component;
 	private final String operation;
 
+	private final String identifier;
+
 	private int stackDepth;
 	private int stackSize;
 	private String failedCause;
@@ -55,6 +57,8 @@ public abstract class AbstractOperationCall<T extends AbstractOperationCall<T>>
 		this.operation = operation.intern();
 		this.orderIndex = orderIndex;
 		this.failedCause = (failedCause != null) ? failedCause.intern() : null;
+
+		this.identifier = container + ',' + component + ',' + operation;
 	}
 
 	public void addChild(final T child) {
@@ -115,6 +119,14 @@ public abstract class AbstractOperationCall<T extends AbstractOperationCall<T>>
 		return this.isFailed() || this.children.parallelStream().anyMatch(T::containsFailure);
 	}
 
+	public String getIdentifier() {
+		return identifier;
+	}
+
+	public String getIdentifierWithFailure() {
+		return identifier + ',' + failedCause;
+	}
+
 	public final int calculateHashCode() {
 		final int prime = 31;
 		int result = 1;