diff --git a/scribus/scribus.cpp b/scribus/scribus.cpp
index d06e7ba8a..de5d92d0a 100644
--- a/scribus/scribus.cpp
+++ b/scribus/scribus.cpp
@@ -9616,6 +9616,9 @@ void ScribusMainWindow::insertMark(MarkType mType)
 {
 	if (!HaveDoc)
 		return;
+	if (doc->masterPageMode() && (mType != MARKVariableTextType))
+		// only variable text can go on master pages
+		return;
 	if (doc->m_Selection->count() != 1)
 		return;
 	if  (doc->appMode != modeEdit)
@@ -9759,10 +9762,6 @@ void ScribusMainWindow::slotInsertMarkNote()
 
 bool ScribusMainWindow::insertMarkDialog(PageItem_TextFrame* currItem, MarkType mrkType, ScItemsState* &is)
 {
-	if (doc->masterPageMode() && (mrkType != MARKVariableTextType))
-		//avoid inserting in master pages other marks than Variable Text
-		return false;
-	
 	QScopedPointer<MarkInsert> insertMDialog;
 	switch (mrkType)
 	{
