Index: scribus/scribusdoc.cpp
===================================================================
--- scribus/scribusdoc.cpp	(revision 20483)
+++ scribus/scribusdoc.cpp	(working copy)
@@ -17477,10 +17477,12 @@
 		{
 			if (mrk->getItemPtr() != NULL)
 			{
-				int page = mrk->getItemPtr()->OwnPage +1;
-				if (mrk->getString().toInt() != page)
+				QString page = getSectionPageNumberForPageIndex( mrk->getItemPtr()->OwnPage );
+				if(page.isEmpty())
+					page=QString::number(mrk->getItemPtr()->OwnPage +1);
+				if (mrk->getString() != page)
 				{
-					mrk->setString(QString("%1").arg(page));
+					mrk->setString(page);
 					if (mItem != NULL)
 					{
 						mItem->asTextFrame()->invalidateLayout(false);
@@ -17509,10 +17511,12 @@
 				else
 				{
 					destMark->OwnPage = dItem->OwnPage;
-					int page = destMark->OwnPage +1;
-					if (mrk->getString().toInt() != page)
+					QString page = getSectionPageNumberForPageIndex( destMark->OwnPage );
+					if(page.isEmpty())
+						page=QString::number(mrk->getItemPtr()->OwnPage +1);
+					if (mrk->getString() != page)
 					{
-						mrk->setString(QString("%1").arg(page));
+						mrk->setString(page);
 						if (mItem != NULL)
 						{
 							mItem->asTextFrame()->invalidateLayout(false);
Index: scribus/ui/pagepalette_pages.cpp
===================================================================
--- scribus/ui/pagepalette_pages.cpp	(revision 20483)
+++ scribus/ui/pagepalette_pages.cpp	(working copy)
@@ -290,6 +290,7 @@
 			rowcounter++;
 		}
 	}
+	currView->Doc->updateMarks(true);
 	pageView->setRowHeight(pageView->rowCount()-1, 10);
 	counter = 0;
 	if (cols != 1)
