diff --git a/alib2common/src/measurements/frames/MemoryDataFrame.cpp b/alib2common/src/measurements/frames/MemoryDataFrame.cpp
index 144624aafb0e7c9634bfaea47fab5413a82c8fc0..c0dcb5fbdeba90167f2b846df36c6510ca25bce0 100644
--- a/alib2common/src/measurements/frames/MemoryDataFrame.cpp
+++ b/alib2common/src/measurements/frames/MemoryDataFrame.cpp
@@ -36,12 +36,12 @@ void MemoryDataFrame::update ( unsigned frameIdx, measurements::stealth_vector <
 	if ( currentFrame.memory.currentHeapUsage > currentFrame.memory.inFrameHighWatermark )
 		currentFrame.memory.inFrameHighWatermark = currentFrame.memory.currentHeapUsage;
 
-	if ( parentFrame.memory.highWatermark < currentFrame.memory.inFrameHighWatermark )
-		parentFrame.memory.highWatermark = currentFrame.memory.inFrameHighWatermark;
-
 	if ( currentFrame.memory.highWatermark < currentFrame.memory.inFrameHighWatermark )
 		currentFrame.memory.highWatermark = currentFrame.memory.inFrameHighWatermark;
 
+	if ( parentFrame.memory.highWatermark < currentFrame.memory.highWatermark )
+		parentFrame.memory.highWatermark = currentFrame.memory.highWatermark;
+
 	parentFrame.memory.currentHeapUsage = currentFrame.memory.currentHeapUsage;
 }