--- scribus15/scribus/scribus.cpp-	2016-11-22 00:13:33.657620848 +0100
+++ scribus15/scribus/scribus.cpp	2016-11-22 05:25:27.269273093 +0100
@@ -299,7 +299,6 @@
 	resourceManager=0;
 	UrlLauncher::instance();
 	m_mainWindowStatusLabel=0;
-	ExternalApp=0;
 	m_ScriptRunning = 0;
 #ifdef Q_OS_MAC
 	//commenting this out until this is resolved :https://bugreports.qt.io/browse/QTBUG-44565
@@ -8383,15 +8382,6 @@
 	slotSelect();
 }
 
-void ScribusMainWindow::imageEditorExited(int /*exitCode*/, QProcess::ExitStatus /*exitStatus*/)
-{
-	if ( ExternalApp != 0 )
-	{
-		delete ExternalApp;
-		ExternalApp = 0;
-	}
-}
-
 /* call gimp and wait upon completion */
 void ScribusMainWindow::callImageEditor()
 {
@@ -8419,17 +8409,10 @@
 	}
 #endif
 	QString imageEditorExecutable=m_prefsManager->imageEditorExecutable();
-	if (ExternalApp != 0)
-	{
-		QString ieExe = QDir::toNativeSeparators(imageEditorExecutable);
-		ScMessageBox::information(this, tr("Information"), "<qt>" + tr("The program %1 is already running!").arg(ieExe) + "</qt>");
-		return;
-	}
 	if (currItem->imageIsAvailable)
 	{
 		int index;
 		QString imEditor;
-		ExternalApp = new QProcess(NULL);
 		QStringList cmd;
 	#if defined(_WIN32)
 		index = imageEditorExecutable.indexOf( ".exe" );
@@ -8450,21 +8433,13 @@
 		cmd.clear();
 	#endif
 		index = imEditor.lastIndexOf( "/" );
-		if (index > -1 )
-		{
-			QString imEditorDir = imEditor.left( index + 1 );
-			ExternalApp->setWorkingDirectory( imEditorDir );
-		}
+		QString imEditorDir = ((index > -1)? imEditor.left( index + 1 ): ".");
 		cmd.append(QDir::toNativeSeparators(currItem->Pfile));
-		ExternalApp->start(imEditor, cmd);
-		if (!ExternalApp->waitForStarted())
+		if (!QProcess::startDetached(imEditor, cmd, imEditorDir))
 		{
-			delete ExternalApp;
-			ExternalApp = 0;
 			ScMessageBox::critical(this, CommonStrings::trWarning, "<qt>" + tr("The program %1 is missing!").arg(imageEditorExecutable) + "</qt>");
 			return;
 		}
-		connect(ExternalApp, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(imageEditorExited(int, QProcess::ExitStatus)));
 	}
 }
 
--- scribus15/scribus/scribus.h-	2016-05-16 23:19:42.119494233 +0200
+++ scribus15/scribus/scribus.h	2016-11-22 05:33:03.373060497 +0100
@@ -254,8 +254,6 @@
 	QString LoadEnc;
 	AppModeHelper *appModeHelper;
 
-	QProcess *ExternalApp;
-
 	QMap<QString, QPointer<ScrAction> > scrActions;
 	QMap<QString, QPointer<ScrAction> > scrRecentFileActions;
 	QMap<QString, QPointer<ScrAction> > scrWindowsActions;
@@ -517,7 +515,6 @@
 	void SetSnapElements(bool b);
 	void EditTabs();
 	void SearchText();
-	void imageEditorExited(int, QProcess::ExitStatus);
 	/*! \brief call gimp and wait upon completion */
 	void callImageEditor();
 	void docCheckToggle(bool visible);
