Index: scribus/scribusview.cpp
===================================================================
--- scribus/scribusview.cpp	(revision 19357)
+++ scribus/scribusview.cpp	(working copy)
@@ -915,6 +933,34 @@
 								undoManager->setUndoEnabled(false);
 								Doc->dontResize = true;
 								fmt->loadFile(url.toLocalFile(), LoadSavePlugin::lfUseCurrentPage|LoadSavePlugin::lfInteractive|LoadSavePlugin::lfScripted);
+
+								PageItem *pageItem = Doc->m_Selection->itemAt(0);
+								ScPage *page = Doc->currentPage();
+
+								double iw = static_cast<double>(pageItem->width() * 72.0 / pageItem->pixm.imgInfo.xres);
+								double ih = static_cast<double>(pageItem->height() * 72.0 / pageItem->pixm.imgInfo.xres);
+								if (iw > ih) {
+									double pw = page->width();
+									if (iw > pw) {
+										ih = pw / (iw / ih);
+										iw = pw;
+									}
+								} else {
+									double ph = page->height();
+									if (ih > ph) {
+										iw = ph / (ih / iw);
+										ih = ph;
+									}
+								}
+								pageItem->setWidth(iw);
+								pageItem->setHeight(ih);
+
 								undoManager->setUndoEnabled(true);
 								if (Doc->m_Selection->count() > 0)
 								{
