diff --git a/src/Ass/Line.hh b/src/Ass/Line.hh
index 9af49255d8746b9de54cb13b691116b9f37de705..c4b1a39be5a0234ad7adc11dcdb708e0f07dc6e3 100644
--- a/src/Ass/Line.hh
+++ b/src/Ass/Line.hh
@@ -7,7 +7,6 @@
 
 namespace Vivy::Ass
 {
-
 class Line {
 private:
     quint64 start{ 0 };
diff --git a/src/Ass/Style.hh b/src/Ass/Style.hh
index c56a3fcd8b69bd42f107c3277735888a91c4550a..82e6c4be083466d8b01545d7779e93b624fdc96b 100644
--- a/src/Ass/Style.hh
+++ b/src/Ass/Style.hh
@@ -7,7 +7,6 @@
 
 namespace Vivy::Ass
 {
-
 struct Color {
     union {
         quint8 a, r, g, b;
diff --git a/src/Ass/Syl.hh b/src/Ass/Syl.hh
index 964e755005873b769e3b00289ea74b3dc0bbba38..cb5c522b0dc7390fc5bb37753c613495d704f7bf 100644
--- a/src/Ass/Syl.hh
+++ b/src/Ass/Syl.hh
@@ -8,7 +8,6 @@
 
 namespace Vivy::Ass
 {
-
 class Line;
 
 class Syl {
diff --git a/src/MainWindow.cc b/src/MainWindow.cc
index 1a131209709a13a2c5e7bac3a473da3b63a40abd..a028ff88bb56e0c35af7db33808981351373af9e 100644
--- a/src/MainWindow.cc
+++ b/src/MainWindow.cc
@@ -2,7 +2,9 @@
 #include "DialogHelp.hh"
 #include "VivyDocumentView.hh"
 #include "Utils.hh"
+#include "VivyApplication.hh"
 
+#include <functional>
 #include <QFileInfo>
 #include <QStandardPaths>
 #include <QPixmap>
@@ -14,7 +16,6 @@
 #include <QImage>
 #include <QToolBar>
 #include <QTabWidget>
-#include "VivyApplication.hh"
 
 #define DCL_MENU(menu, name) [[maybe_unused]] QMenu *menu##Menu = menuBar()->addMenu(name);
 
@@ -91,11 +92,24 @@ MainWindow::MainWindow(QWidget *parent) noexcept
     /* Enable/disable actions depending on the context */
     saveFileAct->setEnabled(false);
     saveFileAsAct->setEnabled(false);
-    connect(documents, &QTabWidget::currentChanged, saveFileAct,
-            [saveFileAct](int index) -> void { saveFileAct->setEnabled(index >= 0); });
-    connect(documents, &QTabWidget::currentChanged, saveFileAsAct,
-            [saveFileAsAct](int index) -> void { saveFileAsAct->setEnabled(index >= 0); });
+    loadSubDocumentAssAct->setEnabled(false);
+    loadSubDocumentVideoAct->setEnabled(false);
+    loadSubDocumentAudioAct->setEnabled(false);
+
+    auto enableOnDocument = [](auto *widget, int index) noexcept -> void { widget->setEnabled(index >= 0); };
+
+    connect(documents, &QTabWidget::currentChanged, saveFileAct, std::bind_front(enableOnDocument, saveFileAct));
+    connect(documents, &QTabWidget::currentChanged, saveFileAsAct, std::bind_front(enableOnDocument, saveFileAsAct));
+
+    connect(documents, &QTabWidget::currentChanged, loadSubDocumentAudioAct,
+            std::bind_front(enableOnDocument, loadSubDocumentAudioAct));
+    connect(documents, &QTabWidget::currentChanged, loadSubDocumentVideoAct,
+            std::bind_front(enableOnDocument, loadSubDocumentVideoAct));
+    connect(documents, &QTabWidget::currentChanged, loadSubDocumentAssAct,
+            std::bind_front(enableOnDocument, loadSubDocumentAssAct));
 
+    /* Add a new empty document that will will be replaced if nothing is added
+     * to it. */
     newDocument(true);
 
     /* Main window has finished its construction */
diff --git a/src/MainWindow.hh b/src/MainWindow.hh
index d7841a30b22e5af7772a956d8d291c805cec25e7..a458ce83a9e3ecb1fce3862169fab6ebeec69d53 100644
--- a/src/MainWindow.hh
+++ b/src/MainWindow.hh
@@ -13,7 +13,6 @@
 
 namespace Vivy
 {
-
 class MainWindow final : public QMainWindow {
     Q_OBJECT
 
diff --git a/src/VivyApplication.hh b/src/VivyApplication.hh
index 16939df780563f686ee9e7c072e87af5719d08c3..4492f05473899d8e764ae4c2598cdd3520f8e4c3 100644
--- a/src/VivyApplication.hh
+++ b/src/VivyApplication.hh
@@ -14,7 +14,6 @@
 
 namespace Vivy
 {
-
 class VivyApplication : public QApplication {
     Q_OBJECT