diff --git a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java
index 03dd4c67bd73bac764214e9338d8b48edd3e3033..711f320bac23a6d8b1370d9cd8c3ef684a721302 100644
--- a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java
+++ b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java
@@ -39,6 +39,7 @@ public class TracesSummarizationFilter extends AbstractFilter implements ITraceR
 			if (trace.isValid()) {
 				insertIntoBuffer(trace);
 			} else {
+				makeTraceElementsAccumulator(trace);
 				deliver(trace);
 			}
 		} else if (record instanceof TimedPeriodRecord) {
@@ -56,14 +57,7 @@ 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());
-				}
-			}
+			makeTraceElementsAccumulator(trace);
 
 			traceAggregationBuffer = new TracesSummarizationBuffer(
 					TimeProvider.getCurrentTimestamp());
@@ -72,6 +66,17 @@ public class TracesSummarizationFilter extends AbstractFilter implements ITraceR
 		traceAggregationBuffer.insertTrace(trace);
 	}
 
+	public void makeTraceElementsAccumulator(final Trace trace) {
+		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());
+			}
+		}
+	}
+
 	private void processTimeoutQueue(final long timestamp) {
 		final long bufferTimeout = timestamp - maxCollectionDuration;
 		final List<Trace> toRemove = new ArrayList<Trace>();