Index: scribus/ui/outlinepalette.cpp
===================================================================
--- scribus/ui/outlinepalette.cpp	(Revision 26266)
+++ scribus/ui/outlinepalette.cpp	(Arbeitskopie)
@@ -481,6 +481,9 @@
 	connect(filterEdit, SIGNAL(textChanged(QString)), this, SLOT(filterTree(QString)));
 //	connect(filterShortcut, SIGNAL(activated()), filterEdit, SLOT(setFocus()));
 	connect(reportDisplay, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(slotDoubleClick(QTreeWidgetItem*,int)));
+	connect(this, SIGNAL(visibilityChanged(bool)), this, SLOT(rebuildTree()));
+
+
 }
 
 void OutlinePalette::setMainWindow(ScribusMainWindow *mw)
@@ -509,7 +512,13 @@
 void OutlinePalette::toggleView(bool visible)
 {
 	DockPanelBase::toggleView(visible);
-	if (visible && (currDoc != nullptr))
+	rebuildTree();
+}
+
+
+void OutlinePalette::rebuildTree()
+{
+	if (this->isVisible() && (currDoc != nullptr))
 		BuildTree();
 }
 
Index: scribus/ui/outlinepalette.h
===================================================================
--- scribus/ui/outlinepalette.h	(Revision 26266)
+++ scribus/ui/outlinepalette.h	(Arbeitskopie)
@@ -17,7 +17,7 @@
 class QEvent;
 
 #include "scribusapi.h"
-#include "scdockpalette.h"
+//#include "scdockpalette.h"
 #include "docks/dock_panelbase.h"
 
 class ScribusMainWindow;
@@ -96,6 +96,7 @@
 	void slotMultiSelect();
 	void slotSelect(QTreeWidgetItem* ite, int col);
 	void slotDoubleClick(QTreeWidgetItem* ite, int col);
+	void rebuildTree();
 
 protected:
 	void changeEvent(QEvent *e) override;
