Index: scribus/scribus.cpp
===================================================================
--- scribus/scribus.cpp	(Revision 26284)
+++ scribus/scribus.cpp	(Arbeitskopie)
@@ -245,6 +245,7 @@
 #include "util_file.h"
 #include "util_formats.h"
 #include "third_party/Qt-Advanced-Docking-System/src/IconProvider.h"
+#include "third_party/Qt-Advanced-Docking-System/src/DockAreaWidget.h"
 
 #ifdef HAVE_SVNVERSION
 	#include "svnversion.h"
@@ -7573,10 +7574,10 @@
 }
 
 void ScribusMainWindow::editMasterPagesStart(const QString& temp)
-{
+{	
 	if (!HaveDoc)
 		return;
-	m_pagePalVisible = pagePalette->isVisible();
+	m_pagePaletteWasClosed = pagePalette->isClosed();
 	QString mpName;
 	if (temp.isEmpty())
 		mpName = doc->currentPage()->masterPageName();
@@ -7604,10 +7605,12 @@
 	view->saveViewState();
 
 	pagePalette->startMasterPageMode(mpName);
-	if (!pagePalette->isVisible())
+	if (pagePalette->isClosed())
 	{
-		pagePalette->show();
+		auto* area = pagePalette->dockAreaWidget();
+		auto* dockWidget = area->currentDockWidget();
 		scrActions["toolsPages"]->setChecked(true);
+		area->setCurrentDockWidget(dockWidget);
 	}
 	appModeHelper->setMasterPageEditMode(true, doc);
 }
@@ -7627,10 +7630,9 @@
 		Apply_MasterPage(doc->DocPages.at(i)->masterPageName(), i, false);
 
 	pagePalette->endMasterPageMode();
-	if (pagePalette->isFloating())
+	if (m_pagePaletteWasClosed && pagePalette->isFloating())
 	{
-		pagePalette->setVisible(m_pagePalVisible);
-		scrActions["toolsPages"]->setChecked(m_pagePalVisible);
+		scrActions["toolsPages"]->setChecked(false);
 	}
 
 	ScribusView::ViewState viewState = view->topViewState();
Index: scribus/scribus.h
===================================================================
--- scribus/scribus.h	(Revision 26284)
+++ scribus/scribus.h	(Arbeitskopie)
@@ -665,7 +665,7 @@
 	bool insertMarkDialog(PageItem_TextFrame* item, MarkType mT, ScItemsState* &is, const QString &text, int markInsertPosition);
 	int m_marksCount { 0 }; //remember marks count from last call
 	bool m_WasAutoSave { false };
-	bool m_pagePalVisible { false };
+	bool m_pagePaletteWasClosed { true };
 };
 
 #endif
