diff --git a/core/IvmiScene.gd b/core/IvmiScene.gd
index 6e1138617fe3aefe220fdd89a0e977b9b6d9413d..ef5318abd2e79c59c346f1dac069545528b565d8 100644
--- a/core/IvmiScene.gd
+++ b/core/IvmiScene.gd
@@ -260,6 +260,14 @@ func _process(delta) :
 					msg["args"]=list
 					_parse_message(msg)
 
+		if _recording_state == RecordingState.PLAYING :
+			var t = Time.get_ticks_msec() - _recording_time
+			while _recording_index<_recorded_props.size() and _recorded_props[_recording_index]["time"] < t :
+				_parse_message(_recorded_props[_recording_index])
+				_recording_index+=1
+			if _recording_index>=_recorded_props.size():
+				_recording_state=RecordingState.STOPPED
+
 
 
 # --------Network-----------------