diff --git a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java
index b08ffe5873dcc850e481b5edbc632fbf1b664b12..03dd4c67bd73bac764214e9338d8b48edd3e3033 100644
--- a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java
+++ b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java
@@ -36,15 +36,6 @@ public class TracesSummarizationFilter extends AbstractFilter implements ITraceR
 		if (record instanceof Trace) {
 			final Trace trace = (Trace) record;
 
-			for (int i = 0; i < trace.getTraceEvents().size(); i++) {
-				final AbstractEventRecord event = trace.getTraceEvents().get(i);
-				if (event instanceof AbstractBeforeEventRecord) {
-					final AbstractBeforeEventRecord abstractBeforeEventRecord = (AbstractBeforeEventRecord) event;
-					abstractBeforeEventRecord.getRuntimeStatisticInformation().makeAccumulator(
-							abstractBeforeEventRecord.getObjectId());
-				}
-			}
-
 			if (trace.isValid()) {
 				insertIntoBuffer(trace);
 			} else {
@@ -65,6 +56,15 @@ public class TracesSummarizationFilter extends AbstractFilter implements ITraceR
 	private void insertIntoBuffer(final Trace trace) {
 		TracesSummarizationBuffer traceAggregationBuffer = trace2buffer.get(trace);
 		if (traceAggregationBuffer == null) {
+			for (int i = 0; i < trace.getTraceEvents().size(); i++) {
+				final AbstractEventRecord event = trace.getTraceEvents().get(i);
+				if (event instanceof AbstractBeforeEventRecord) {
+					final AbstractBeforeEventRecord abstractBeforeEventRecord = (AbstractBeforeEventRecord) event;
+					abstractBeforeEventRecord.getRuntimeStatisticInformation().makeAccumulator(
+							abstractBeforeEventRecord.getObjectId());
+				}
+			}
+
 			traceAggregationBuffer = new TracesSummarizationBuffer(
 					TimeProvider.getCurrentTimestamp());
 			trace2buffer.put(trace, traceAggregationBuffer);