That is correct, you don't need the windowedBy. If you are reusing data from a closed window then it means that the state store might not be purged after the window is closed and forwarded. The line in the processor responsible for that is here https://github.com/tkaszuba/kafka/blob/24eda89e7d878233389d8d2af731ce1dc4d17e8b/streams/src/main/java/com/tkaszuba/kafka/streams/processors/Suppress.java#L70. If your processor has that line then I would check if your aggregation is not sending duplicates by putting in a peak after the .toStream.