diff --git a/libs/ardour/region.cc b/libs/ardour/region.cc index dd561be7b0..d602bc2e55 100644 --- a/libs/ardour/region.cc +++ b/libs/ardour/region.cc @@ -1311,13 +1311,15 @@ Region::_set_state (const XMLNode& node, int /*version*/, PropertyChange& what_c &bbt_time.beats, &bbt_time.ticks) != 3) { _position_lock_style = AudioTime; + _beat = _session.tempo_map().beat_at_frame (_position); } else { _beat = _session.tempo_map().beat_at_bbt (bbt_time); - _pulse = _session.tempo_map().pulse_at_beat (_beat); } } } + _pulse = _session.tempo_map().pulse_at_beat (_beat); + /* fix problems with old sessions corrupted by impossible values for _stretch or _shift */