diff --git a/src/UI/VivyDocumentView.cc b/src/UI/VivyDocumentView.cc
index 289a319c282f0876004563223dc1e65b99ef1731..1bc93560dee72eb95ede95222d56f7175f89ecb6 100644
--- a/src/UI/VivyDocumentView.cc
+++ b/src/UI/VivyDocumentView.cc
@@ -21,7 +21,7 @@ VivyDocumentView::VivyDocumentView(std::shared_ptr<VivyDocument> doc, QWidget *p
     loadAssView();
 
     // Add some actions...
-    QAction *openPropertiesAct = new QAction("Open properties", this);
+    openPropertiesAct = new QAction("Open properties", this);
     connect(openPropertiesAct, &QAction::triggered, this, &VivyDocumentView::openProperties);
     connect(document.get(), &AbstractDocument::documentChanged, this, [=, this]() {
         if (property)
@@ -79,9 +79,7 @@ VivyDocumentView::loadVideoView() noexcept
         if (!videoView) {
             videoView = new QDockWidget("Video View", this);
             videoView->setAllowedAreas(Qt::AllDockWidgetAreas);
-            videoView->setFeatures(QDockWidget::DockWidgetMovable |
-                                   QDockWidget::DockWidgetFloatable |
-                                   QDockWidget::DockWidgetClosable);
+            videoView->setFeatures(allDockFeatures);
             addDockWidget(Qt::BottomDockWidgetArea, videoView, Qt::Vertical);
             DockWidgetTitleBar::addToDock(videoView);
         }
@@ -101,7 +99,7 @@ VivyDocumentView::loadAssView() noexcept
     if (document->checkDocumentCapabilities(VivyDocument::Capabilities::AssAble)) {
         if (!assLines) {
             assLines = new QDockWidget("ASS Lines", this);
-            assLines->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetClosable);
+            assLines->setFeatures(onlyClosableDockFeatures);
             assLines->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea |
                                       Qt::BottomDockWidgetArea);
             addDockWidget(Qt::BottomDockWidgetArea, assLines, Qt::Vertical);
@@ -133,8 +131,7 @@ VivyDocumentView::loadAudioView() noexcept
             visualizer->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Minimum);
             visualizer->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::TopDockWidgetArea |
                                         Qt::BottomDockWidgetArea);
-            visualizer->setFeatures(QDockWidget::DockWidgetMovable |
-                                    QDockWidget::DockWidgetClosable);
+            visualizer->setFeatures(onlyClosableDockFeatures);
             addDockWidget(Qt::LeftDockWidgetArea, visualizer, Qt::Horizontal);
             DockWidgetTitleBar::addToDock(visualizer);
         }
@@ -174,7 +171,7 @@ VivyDocumentView::getDocumentTabIcon() const noexcept
 void
 VivyDocumentView::openProperties() noexcept
 {
-    propertyModel.reset(new PropertyModel(*document.get()));
+    propertyModel   = std::make_unique<PropertyModel>(*document.get());
     QTreeView *view = new QTreeView(property);
     view->setModel(propertyModel.get());
     view->header()->setSectionResizeMode(QHeaderView::ResizeToContents);
@@ -183,9 +180,11 @@ VivyDocumentView::openProperties() noexcept
     if (!property) {
         property = new QDockWidget("Properties", this);
         property->setAllowedAreas(Qt::AllDockWidgetAreas);
+        property->setFeatures(allDockFeatures);
         addDockWidget(Qt::RightDockWidgetArea, property, Qt::Vertical);
         DockWidgetTitleBar::addToDock(property);
     }
 
     property->setWidget(view);
+    openPropertiesAct->setVisible(false);
 }
diff --git a/src/UI/VivyDocumentView.hh b/src/UI/VivyDocumentView.hh
index b38bd6c04a87e5551c336e443c84b886e1b519cd..59db8987710f841d955d25da28a53d8142f347c6 100644
--- a/src/UI/VivyDocumentView.hh
+++ b/src/UI/VivyDocumentView.hh
@@ -18,6 +18,12 @@ class VivyDocumentView final : public AbstractDocumentView {
     Q_OBJECT
     VIVY_UNMOVABLE_OBJECT(VivyDocumentView)
 
+    static inline constexpr QDockWidget::DockWidgetFeatures allDockFeatures =
+        QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetFloatable |
+        QDockWidget::DockWidgetMovable;
+    static inline constexpr QDockWidget::DockWidgetFeatures onlyClosableDockFeatures =
+        QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable;
+
 public:
     explicit VivyDocumentView(std::shared_ptr<VivyDocument>, QWidget *parent) noexcept;
     ~VivyDocumentView() noexcept override;
@@ -44,6 +50,7 @@ private:
     QDockWidget *property{ nullptr };
     QDockWidget *assLines{ nullptr };
     QDockWidget *videoView{ nullptr };
+    QAction *openPropertiesAct{ nullptr };
 };
 
 }