Index: Scribus/scribus/pdflib_core.cpp
===================================================================
--- Scribus/scribus/pdflib_core.cpp	(revision 22789)
+++ Scribus/scribus/pdflib_core.cpp	(working copy)
@@ -9044,11 +9044,36 @@
 			PutDoc("/Subtype /Link\n");
 			if (ite->annotation().ActionType() == Annotation::Action_GoTo)
 			{
+				QString name = ite->getObjectAttribute(QString("ltarget")).value;
+				int ownpage = -1;
+				QString laction = QString("%1 %2 0");
+				if(name != ""){
+					ScribusDoc * sdoc = ScCore->primaryMainWindow()->doc;
+					PageItem * linked = sdoc->getItemFromName(name);
+					if(linked != nullptr){
+						ownpage = linked->OwnPage;
+						ScPage * spage = sdoc->Pages->at(ownpage);
+						int poffx = spage->xOffset();
+						int poffy = spage->yOffset();
+						int lx = linked->xPos() - poffx;
+						int ly = spage->height()-(linked->yPos() - poffy);
+						laction = laction.arg(lx).arg(ly);
+					}
+				}
+
 				PutDoc("/Dest /"+NDnam+Pdf::toPdf(NDnum)+"\n");
 				PdfDest de;
 				de.Name = NDnam+Pdf::toPdf(NDnum);
-				de.PageNr = ite->annotation().Ziel();
-				de.Act = ite->annotation().Action();
+
+				if(ownpage == -1){
+					de.PageNr = ite->annotation().Ziel();
+					de.Act = ite->annotation().Action();
+				}
+				else{
+				       de.PageNr = ownpage;
+				       de.Act = laction;
+				}
+
 				NamedDest.append(de);
 				NDnum++;
 			}
