diff --git a/src/interface/Interface_graphic.cpp b/src/interface/Interface_graphic.cpp
index 7f620f6ca4b4f5db2085fd083539a312f2fc1c94..caa424090830f4663facd660b890faaeb0b092af 100644
--- a/src/interface/Interface_graphic.cpp
+++ b/src/interface/Interface_graphic.cpp
@@ -334,10 +334,6 @@ void Interface_graphic::remove_render_area(RenderLayout *render_layout) {
         //_plugin_window->clear_plugins();
     }
 
-    if (nullptr != _ui_interval_selection) {
-        _ui_interval_selection->hide();
-    }
-
     // Remove RenderLayout from _render_layouts which is a vector
     for (std::vector<RenderLayout *>::iterator it = _render_layouts.begin(); it != _render_layouts.end(); ++it) {
         if (*it == render_layout) {
@@ -346,6 +342,10 @@ void Interface_graphic::remove_render_area(RenderLayout *render_layout) {
         }
     }
 
+    if (nullptr != _ui_interval_selection) {
+        _ui_interval_selection->update_container(_render_layouts);
+    }
+
     if (_render_layouts.empty()) {
         background_widget->show();
     }
@@ -502,9 +502,6 @@ void Interface_graphic::on_interval_selection_triggered() {
         connect(quit, &QAction::triggered, _ui_interval_selection, &QWidget::close);
     }
     _ui_interval_selection->update_container(_render_layouts);
-    for (const RenderLayout *render_layout: _render_layouts) {
-        _ui_interval_selection->update_interval_layout_from_render_view(render_layout);
-    }
     _ui_interval_selection->show();
 }
 
@@ -685,6 +682,10 @@ bool Interface_graphic::open_trace(const QString &filepath) {
     set_trace(trace);
     draw_trace(trace, _render_layouts.size() - 1);
 
+    if (nullptr != _ui_interval_selection) {
+        _ui_interval_selection->update_container(_render_layouts);
+    }
+
     return true;
 }
 
diff --git a/src/interface/IntervalSelect.cpp b/src/interface/IntervalSelect.cpp
index f7413c9a16c94bd8c7a3788eecffa0cda7712309..59b5e06a50c192b85de9c6528f093b193f4f82e9 100644
--- a/src/interface/IntervalSelect.cpp
+++ b/src/interface/IntervalSelect.cpp
@@ -38,6 +38,7 @@ void IntervalSelect::update_container(const std::vector<RenderLayout *> &render_
     // Fill interval select layouts with up to date layouts
     for (RenderLayout *render_layout: render_layouts) {
         _interval_select_layouts.push_back(new IntervalSelectLayout(this, render_layout));
+        update_interval_layout_from_render_view(render_layout);
         interval_select_container_layout->addWidget(_interval_select_layouts.back());
     }