diff --git a/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java b/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java
index 185ce58a895a0899f86991124768c73a1e9c535b..c1b0bb6b32f71ea0769b7049efdb0501644b290e 100644
--- a/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java
+++ b/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java
@@ -113,7 +113,7 @@ class TraceReconstructionBuffer {
 				// reconstruction
 				final RuntimeStatisticInformation runtimeStatisticInformation = runtimeStatisticInformationList
 						.get(0);
-				if (runtimeStatisticInformation.getAverage() < 0) {
+				if (!runtimeStatisticInformation.isInitialized()) {
 					runtimeStatisticInformation.set(1, methodDuration, methodDuration
 							* methodDuration);
 				}
diff --git a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java
index a87fe4cbea6784c421fdf3d1350ef5129e65806d..a40b2331ef1974878ce739133c43bbacfe09c052 100644
--- a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java
+++ b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java
@@ -64,23 +64,26 @@ class TracesSummarizationBuffer {
 									.get(indexInHostList1);
 							final RuntimeStatisticInformation runtime2 = runtimeList2.get(j);
 
-							if ((runtimeList1.size() == 1) && (runtimeList2.size() == 1)) {
+							if (!runtime2.isInitialized()) {
 								runtime1.merge(runtime2,
 										getRightObjectId(abstractBeforeEventRecord2));
 							} else {
 								runtime1.merge(runtime2);
 							}
 						} else {
-							// not found, so insert and merge later
+							// not found, so insert later
 							toAdd.put(host2, runtimeList2.get(j));
-							System.out.println("not found...");
 						}
 					}
 
 					for (final Entry<HostApplicationMetaDataRecord, RuntimeStatisticInformation> entry : toAdd
 							.entrySet()) {
 						hostMetaList1.add(entry.getKey());
-						runtimeList1.add(entry.getValue());
+						final RuntimeStatisticInformation runtime2 = entry.getValue();
+						if (!runtime2.isInitialized()) {
+							runtime2.makeAccumulator(getRightObjectId(abstractBeforeEventRecord2));
+						}
+						runtimeList1.add(runtime2);
 					}
 				} else {
 					final List<HostApplicationMetaDataRecord> hostMetaList1 = event
diff --git a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java
index bd7c981169210c77457a2ba2a647abb12370d51f..1a439f387ef57c7d9e809a2f8b6e9dc44d7022c5 100644
--- a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java
+++ b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java
@@ -76,24 +76,28 @@ public class TracesSummarizationFilter extends AbstractFilter {
 		traceAggregationBuffer.insertTrace(trace);
 	}
 
-	public void makeTraceElementsAccumulator(final Trace trace) {
+	private void makeTraceElementsAccumulator(final Trace trace) {
 		final List<AbstractEventRecord> traceEvents = trace.getTraceEvents();
 
 		for (final AbstractEventRecord event : traceEvents) {
 			if (event instanceof AbstractBeforeEventRecord) {
 				final AbstractBeforeEventRecord abstractBeforeEventRecord = (AbstractBeforeEventRecord) event;
 
-				int objectId = 0;
-
-				if (abstractBeforeEventRecord instanceof AbstractBeforeOperationEventRecord) {
-					final AbstractBeforeOperationEventRecord abstractBeforeOperationEventRecord = (AbstractBeforeOperationEventRecord) abstractBeforeEventRecord;
-					objectId = abstractBeforeOperationEventRecord.getObjectId();
-				}
-
 				final List<RuntimeStatisticInformation> runtimeStatisticInformationList = abstractBeforeEventRecord
 						.getRuntimeStatisticInformationList();
 				if (runtimeStatisticInformationList.size() == 1) {
-					runtimeStatisticInformationList.get(0).makeAccumulator(objectId);
+					final RuntimeStatisticInformation runtimeStatisticInformation = runtimeStatisticInformationList
+							.get(0);
+					if (!runtimeStatisticInformation.isInitialized()) {
+						int objectId = 0;
+
+						if (abstractBeforeEventRecord instanceof AbstractBeforeOperationEventRecord) {
+							final AbstractBeforeOperationEventRecord abstractBeforeOperationEventRecord = (AbstractBeforeOperationEventRecord) abstractBeforeEventRecord;
+							objectId = abstractBeforeOperationEventRecord.getObjectId();
+						}
+
+						runtimeStatisticInformation.makeAccumulator(objectId);
+					}
 				}
 			}
 		}